【发布时间】:2016-07-22 13:59:21
【问题描述】:
我有一个 while 循环,它打印一个整数提示。我想在用户输入一个字符时进行错误检查,比如'a'。但是,当我输入“a”时,它会永远打印“输入种子:种子必须是整数值,请重试”。
int getSeed() {
int scanned, seed;
while (scanned == 0) {
printf("Enter the seed: ");
scanned = scanf("%d", &seed);
if (scanned == 0) {
printf("Seed must be an integer, try again\n");
}
}
return seed;
}
如何打印出来
Enter the seed: a
Seed must be an integer, try again
Enter the seed:
谢谢。
编辑:解决了,我添加了 getchar();在scanf之后。
【问题讨论】:
-
你的解决方案并不能真正解决它。如果有人进入,事情仍然会出错,例如“aa”。如果您想读取一行然后解析它,请编写代码来执行此操作。
标签: c while-loop