我目前正试图让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