c语言中,如何判断输入的是否为一个数字,这个数字是由scanf输入的,数字大小没有限制
展开全部
首先,你scanf的方法就错了,因为如果输入不是数字的话,scanf("%d",&n);会读入乱码的。应该这样:
#include<stdio.h>
#include<string.h>
int main()
{
char str[1000];
scanf("%s",str);
bool shishuzi=true;
for(int i=0;i<strlen(str);i++)
if(str[i]<'0' || str[i]>'9')
{
printf("不是数字!\n");
shishuzi=false;
break;
}
if(shishuzi==true)
printf("是数字!\n");
return 0;
}
这个是多位的,如果只要一位数的话,稍微改改就可
#include<stdio.h>
#include<string.h>
int main()
{
char str[1000];
scanf("%s",str);
bool shishuzi=true;
for(int i=0;i<strlen(str);i++)
if(str[i]<'0' || str[i]>'9')
{
printf("不是数字!\n");
shishuzi=false;
break;
}
if(shishuzi==true)
printf("是数字!\n");
return 0;
}
这个是多位的,如果只要一位数的话,稍微改改就可
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |