int main(){
int number;
scanf("%d",&number);
printf("%d",number);
}
上述程序的输入假如不是整数,如a,则scanf并没有成功读入,number的值不会变,由于声明number时未定义其值,则程序的结果会是默认0或未定义行为.
如果scanf成功读入会返回1,读入失败会返回0,因此:
int number;
if(scanf("%d",&number)==1)
{
printf("%d",number);
}else{
printf("invalid input");
}