【发布时间】:2016-11-13 16:41:11
【问题描述】:
我有一个“分钟”变量,我希望用户输入一个正数。
int main(void)
{
float minutes;
minutes = -1;
printf("Find out how many bottles worth of water your showers use!\n");
printf("How many minutes do you spend in the shower? ");
scanf("%f", &minutes);
while(minutes < 0)
{
printf("Please enter a positive number: ");
scanf("%f", &minutes);
}
}
它按预期用于数字。如果 minutes >= 0,它接受它,如果 minutes
printf("Please enter a positive number: ");
并且永远不会给我输入新值的机会。为什么会这样,我该如何解决?谢谢!
【问题讨论】:
-
你打算用这个程序做什么?负分钟和正分钟是什么意思?
-
请注意,
scanf首先并不是获取输入的最安全方式,尤其是当您想要处理不同的输入可能性时。查看接受的答案here -
为什么标题的措辞好像这是 C 中的一个错误?
标签: c string while-loop