c语言中,如何判断输入的是否为一个数字,这个数字是由scanf输入的,数字大小没有限制

intn;scanf("%d",&n);下面怎么写?... int n;
scanf("%d",&n);
下面怎么写?
展开
 我来答
大碌棍
2011-12-21 · TA获得超过622个赞
知道小有建树答主
回答量:430
采纳率:0%
帮助的人:281万
展开全部
首先,你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;
}

这个是多位的,如果只要一位数的话,稍微改改就可
la9297816
2011-12-21 · TA获得超过576个赞
知道小有建树答主
回答量:913
采纳率:0%
帮助的人:586万
展开全部
用Isdigit函数
追问
怎么用??
追答
好像是 如果是数字就返回数字  
具体 man Isdigit查查看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式