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

来源:互联网 发布:吉林麻将源码 编辑:程序博客网 时间:2024/05/21 11:19

在学习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="http://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;}
他的处理结果是这样的

看出来不一样了吗?
使用第一种的话,代码会更简洁,第二种的话结果会更简洁


0 0
原创粉丝点击