#include <stdio.h>
int main() {
float change = 0.0;
printf("O hai! ");
while (change <= 0) {
printf("How much change is owed?\n");
scanf("%f\n", &change);
}
return 0;
}
如果输入为负,结果将是无穷无尽的“欠多少钱?”
scanf
实际上是输入,但由于\n
格式字符串"%f\n"
,输入了一个数字后,scanf
等待下一个非空白字符返回。请注意,格式说明符中的空白允许scanf
使用任何空白字符的序列,而不仅是一个,因此只要流提供空白字符,它就会“挂起”。
更改scanf("%f\n",&change)
成scanf("%f",&change)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句