C语言判断输入是否是数字


方法一

使用scanf的返回值

根据scanf返回值的描述:

scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
如:
scanf("%d,%d", &a, &b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF。
所以,以下代码可以判断输入是否为十进制数字。如果输入字符或其他符号,ret值为0,如果输入为十进制数,ret为1:
1 int digit;
2 printf("please input a integer\n");
3 int ret = scanf("%d",&digit);
4 if(0 == ret)
5 {
6     printf("you should input a integer\n");
7     system("pause");
8     return 0;
9 }

 

与此例类似,利用scanf()的返回值也可以判断其他类型的输入。
 
 
 
方法二

满足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母。
满足 (c>='0' && c<='9')就是数字。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM