有人可以告訴我爲什麼輸入的正確值沒有被存儲在這個程序中?簡單的C程序沒有存儲變量中輸入的正確值
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num, sum=0;
printf("Enter the number: ");
while(num!=0)
{
sum = sum+num;
scanf("%d", &num);
}
printf("Answerr = %d", sum);
return 0;
}
下面是輸出:
Enter the number: 2 0 Sum = 10
您需要閱讀*之前*將其添加到'sum'。現在,'num'被使用未初始化。 sum = sum + num; scanf(「%d」,&num);' - >'scanf(「%d」,&num); sum = sum + num;' –
你還沒有初始化'num',這就是爲什麼你有未定義的行爲 –
也,不檢查['scanf'](http://en.cppreference.com/w/c/io/fscanf)的返回值。 –