关于C的一个小问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 04:50:35
int a
scanf("%d",&a);

假如输入一个数不为int型,那么要求输出“对不起,你的输入有误”。
请问这个怎么实现?
谢谢了

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<ctype.h>
void main()
{
int a=0;
char str[10];
printf("Please enter a integer:");
gets(str);
for(int i=0;i<strlen(str);i++)
if(!isdigit(str[i]))
{
printf("对不起,您的输入有误!\n");
exit(1);
}
else
a+=(str[i]-48)*pow(10,strlen(str)-1-i);
printf("%d\n",a);

}

char a
do{
getchar(a);
if(a>='0'&&a<='9')
break;
else
printf( “对不起,你的输入有误”);
}
while(1);

=========================================
int a ,b,c;
scanf("%d",&a);
b=a;
还是这样写吧``
while(1)
{c=b%10
b=a/10;
if(c>9)
{ printf( “对不起,你的输入有误”);
scanf("%d",&a);
break ;
}
}