當輸入為負整數時,程式應詢問您是否要重置。
當我用負整數測驗它時它作業得很好。但是當我嘗試一個正整數時,它不起作用(我必須輸入兩次)。
int main(void) {
int user_input;
char check;
do
{
printf("Enter a positive integer: ");
scanf("%d", &user_input);
if (user_input < 0)
printf("Error. Do you want to continue using the program? y/n: ");
scanf(" %c", &check);
} while (check == 'y');
return 0;
}
uj5u.com熱心網友回復:
您的第二次呼叫scanf應該在括號內,否則它不是 if 陳述句的一部分。與 Python 等語言不同,縮進無關緊要。
無論用戶輸入如何,您的代碼都會執行。scanf(" %c", &check)
int main(void) {
int user_input;
char check;
do
{
printf("Enter a positive integer: ");
scanf("%d", &user_input);
if (user_input < 0) {
printf("Error. Do you want to continue using the program? y/n: ");
scanf(" %c", &check);
}
} while (check == 'y');
return 0;
}
以下塊是相同的:
if (something)
statementA;
statementB;
if (something)
statementA;
statementB;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/453415.html
下一篇:在控制器中對獲取的資料進行排序
