c语言初级问题求解大神 如果要求输入的是数字,限定范围1——9,如果不是数字或者范围错误就输出 error

我开始用的if确定1——9的范围,可是只对数字有限制,对字母无用,请问怎么改进?

#include<stdio.h>
int main()
{
char i = 0;
scanf("%c",&i);
if(i<=57&&i>=48)
printf("%c\n",i);
else
printf("error\n");
return 0;
}
那就不要用int,用字符型,用ascii码值去判断即可
这个还有个问题就是输入两位以上只截取了第一个,还可以继续改进
温馨提示:答案为网友推荐,仅供参考