首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言中对scanf输入非法字符的检查和处置

2012-09-29 
C语言中对scanf输入非法字符的检查和处理在C中scanf()函数返回成功读入的变量的个数。如果它没有读取任何项

C语言中对scanf输入非法字符的检查和处理

在C中scanf()函数返回成功读入的变量的个数。如果它没有读取任何项目(输入非法字符,例如:希望得到数字,而用户却输入的是字符),scanf()返回值为0.当检测到“文件结尾”是,会返回EOF(EOF是在文件stdio.h中定义的特殊值,一般,#define指令把EOF的值定义为-1).

利用scanf()以上的性质,可对输入值进行检验,代码如下:

?

?

#include<stdio.h>int main(void){ int num; int status; printf("input the value of num:"); status = scanf("%d",&num);         if(status ==0) { printf("enter error");                 fflush(stdin);//清除输入缓冲区的错误数据  } else if(status == EOF) {            printf("Input failure occurs!\n");  } else             printf("\nnum = %d\n",num); fflush(stdin); getchar();  return 0;}
?

?

热点排行