C语言 怎么实现只允许输入数字 输入字母,标点(小数点除外)报错


#include<stdio.h>
int main(void)
{
int i;
char ca[100] = "";
char *p = ca;
while(1)
{
printf("请输入芹宴数字或字母:\n");
scanf("%c",p);
getchar();
if(!(!(*p <= '0' && *p >= '9') || (*p>='a'&&*p<='z') || (*p >= 'A'码首衫 && *p <= 'Z')))
{
printf("输入的不是数字或字母,请重新迟腔输入\n");
continue;

}
else
p++;
}
return 0;

}
注意标点符号用英文半角
int digit;