當amt爲0時程序忽略停止,直到輸入了10個數字。該程序在輸入10個數字後也不會停止。我的錯誤在哪裏?在C中使用while循環的複合條件。
main() {
int amt;
int tot = 0; /* running total */
int i = 0; /* counts number of times in loop */
while (amt!=0 || i < 10)
{
printf("Enter a number (enter 0 to stop): ");
scanf("%d", &amt);
tot = tot + amt;
i++;
}
printf("The sum of those %d number is %d.\n", i, tot);
}
請只是編譯代碼與所有的警告開啓您張貼在這裏了。任何像樣的編譯器都會告訴你像「使用單位化的值'amt'」,並且'main'的原型是不同的。 –
@JensGustedt - 你應該添加這個答案。令人驚訝的是,沒有人甚至認爲編譯器警告可能實際上告訴你代碼有問題。 –
@ D.Shawley,不,不,我不希望SO被重載過度。我只想解決這個問題,這對其他人沒有任何用處。 –