C语⾔判断输⼊是否是数字
⽅法⼀:
使⽤scanf的返回值
根据scanf返回值的描述:
scanf()函数返回成功赋值的数据项数,读到⽂件末尾出错时则返回EOF。
scanf返回值被忽略是怎么回事如:
scanf("%d,%d", &a, &b);
如果a和b都被成功读⼊,那么scanf的返回值就是2
如果只有a被成功读⼊,返回值为1
如果a和b都未被成功读⼊,返回值为0
如果遇到错误或遇到end of file,返回值为EOF。
所以,以下代码可以判断输⼊是否为⼗进制数字。如果输⼊字符或其他符号,ret值为0,如果输⼊为⼗进制数,ret为1:1int digit;
2 printf("please input a integer\n");
3int ret = scanf("%d",&digit);
4if(0 == ret)
5 {
6 printf("you should input a integer\n");
7 system("pause");
8return0;
9 }
与此例类似,利⽤scanf()的返回值也可以判断其他类型的输⼊。
⽅法⼆
满⾜ (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母。
满⾜ (c>='0' && c<='9')就是数字。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论