2014-10-19 29 views
-5

是否繼續(y/n)在此c代碼中不起作用?我希望它在輸入'y'時要求輸入一個字符串,如果輸入n,則退出程序。我嘗試了很多選擇,但無濟於事。 感謝您的幫助是否繼續(y/n)問題

do 
    { 
     i = 0, final = 0, s = 0; 
     printf("\n\nEnter Input String.. "); 
     scanf("%s", string); 

     while (string[i] != '\0') 
      if ((s = check(string[i++], s)) < 0) 
       break; 
     for (i = 0 ; i < nfinals ; i++) 
      if (f[i] == s) 
       final = 1; 
     if (final == 1) 
      printf("\n String is accepted"); 
     else 
      printf("String is rejected"); 

     printf("\nDo you want to continue.? \n(y/n) "); 
    } 
    while (getch() == 'y'); 

    return getch(); 
} 
+2

前,應fflush你的緩衝區_doesn't WORK_請再具體些。 – 2014-10-19 03:57:31

回答

0

以焦炭作爲輸入

do 
{//..your code 
printf("\nDo you want to continue.? \n(y/n) "); 
scanf("%c",&ch); 
scanf("%c",&ch); 
} 
while (ch == 'y'); 
+0

在'stdin'上使用'fflush'是未定義行爲 – 2014-10-19 05:40:56

+0

替換fflush(stdin);用scanf(「%c」,&ch);即把scanf(「%c」,&ch); 2次 – 2014-10-19 06:53:41

+0

然後替換它。 – 2014-10-19 08:24:15