我目前正試圖讓while循環工作,但它不會以我想要的方式。我想要做的是循環,直到一個特定的輸入被放入。有些東西一定是我的語法錯了,但我無法弄清楚什麼。爲什麼我的while循環以這種方式執行?
#include <stdio.h>
int main()
{
float input = 0;
scanf("%f", &input);
while(input!=0)
{
printf("hello\n");
scanf("%f", &input);
}
return 0;
}
由於某些原因,當它爲零時,它不會突破while循環。我希望while循環在有人輸入0後停止工作,但是當有人輸入0時,它會創建一個無限次的「hello」打印。正如你可能猜到的那樣,只要用戶輸入除float之外的任何東西,輸入就變爲0,所以如果我輸入一個字母,我期待while循環停止,但它不支持; \
編輯:
謝謝你們的幫助!我瞭解並弄清楚爲什麼我的邏輯錯了(由於缺乏對如何測試scanf值的理解)!乾杯。
歡迎循環浮點的世界它的永無止境的問題:) – 2014-09-12 20:32:58
你應該檢查'scanf'的結果。 – 2014-09-12 20:33:29
謝謝,但是我應該如何重新修改語法以使其突破while循環? – Belphegor 2014-09-12 20:33:40