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