【正确答案】
【答案解析】在解答这个问题之前,先来看一个“函数”。int isdigit(char c)函数用来判断字符c是否为数字,当c为数字0~9时,返回非零值;否则返回零。使用时需要包含头文件<ctype.h>。此“函数”为宏定义,而非真正函数。另外,"0"的ASCII码为48,因此如果一个字符为数字,那它减去48之后,存成整型类型,即可获得这个数的值。根据上面两点可以实现本题,程序示例如下:
flinclude<stdio.h>
#include<ctype.h>
int cheak(int p)
{
int c=p;
if (isdigit(p))
c=p-48;
return c;
}
int main()
int c;
while((c=getchar())!=EOF)
{
getchar();
c=cheak(c);
if(isalpha(c))
printf("不是/n");
else
printf("是: %d/n",c);
}
return 0;
}
程序输出结果:
1
是:1
a
不是