C中
int num;
scanf(“%d”,&num);
假如输入的是错误数据类型,例如字符或字符串,编译器内部处理过程是怎么的?不会赋值给num,那输入的内容怎么处理呢?
int num;
scanf(“%d”,&num);
假如输入的是错误数据类型,例如字符或字符串,编译器内部处理过程是怎么的?不会赋值给num,那输入的内容怎么处理呢?
解决方案
10
假如scanf函数是你编写的,假如输入错误,你默认给个0或0xffff也是随你的,不过当然要符合常理。
20
假如输入了非法数据,键盘缓冲区就可能还有残余信息。
当使用scanf函数时,假如遇到一些匪夷所思的问题,在scanf函数后正确使用fflush(stdin);,清空输入缓冲区,可以解决很多问题。
当使用scanf函数时,假如遇到一些匪夷所思的问题,在scanf函数后正确使用fflush(stdin);,清空输入缓冲区,可以解决很多问题。