#include
#include
void main()
{
char* ch=(char*)malloc(100*sizeof(char));
scanf("%s",ch);
int num;
num=atoi(ch);
if(0==num)
{
if('0'==*ch)
printf("%d\n",num);
else
printf("您输入了非数字");
}
else
{
printf("%d\n",num);
}
}
已进过测试
有几点需注意
1输入数值不能超过100位数值,当然可将程序中的100改为更大值
2若要输入浮点值,可将atoi 改为atof 函数
判断asc码48~57为0~9十个阿拉伯数字如果得到的asc码不在48-57就重新输入
int num;
char temp[256];
while(true){
if(scanf("%d",&num)) break;
else scanf("%s\n",temp);
}
要判断数字的ascii码。定义成字符型。