您的位置:首页 > 编程语言 > C语言/C++

c语言里两个跳过错误输入代码的区别

2015-01-18 15:11 141 查看
在学习c primer plus 的时候发现处理错误输入的方法有两种

第一种:使用scanf("%*s");

#include<stdio.h>
int main(void)
{
int i = 0;
while (scanf("%d",&i)!=1)
{
scanf("%*s");//第一种方法
printf("请再次输入\n");
}
return 0;
}
他的处理结果是这样的<img src="https://img-blog.csdn.net/20150118151636827?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmcxMjN6aGFuZ3lhbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
第二种:<pre name="code" class="cpp">#include<stdio.h>
int main(void)
{
int i = 0;
while (scanf("%d",&i)!=1)
{
while (getchar()!='\n')//第二种
{
continue;
}
printf("请再次输入\n");
}
return 0;
}
他的处理结果是这样的


看出来不一样了吗?
使用第一种的话,代码会更简洁,第二种的话结果会更简洁
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 printf