【发布时间】:2015-04-18 00:13:32
【问题描述】:
如何处理杂散字符输入,如下面的代码 sn-p 所示
#include <stdio.h>
int main ()
{
int i, j=0;
while (j <3)
{
printf("\n Enter the number to be displayed ");
scanf("%d",&i);
printf("\n The number to be displayed is %d \n", i);
j++;
}
return 0;
}
输出
philipa@hq1-up-swe-01{1436}: ./a.out
Enter the number to be displayed 45/
The number to be displayed is 45
Enter the number to be displayed
The number to be displayed is 45
Enter the number to be displayed
The number to be displayed is 45
这里 '/' 加错了。我想在它作为下一个循环的输入之前刷新这个'/'。我该如何处理这种情况?
【问题讨论】:
-
请客气,对于短代码sn-ps,请正确缩进您的代码。
-
我不清楚你在问什么。我用 45 测试了你的代码:ideone.com/RM3wvv 它不会在任何地方应用“/”
-
是的,'/' 没有添加到输出中,但您也无法输入任何其他数字。要求输入 3 个数字时只取 45
-
fflush() 或者如果这没有帮助c-faq.com/stdio/stdinflush2.html ...
-
这个问题在网站上有数百个重复...请在发布前做一些研究。
标签: c