你那个if相当与一个逻辑判断
任何数值和字符的ASCII码都大于等于0;所以0<=x恒为真然后自然地你的程序都执行if后面的输出整数 那么也就是ASCII码
也就是说你的ELSE 语句一次也没被执行过
实现1;
#include <stdio.h>
void main()
{
char x;
x=getchar();
if(x<9)
printf("%d",x);
else
putchar(x);
}
实现2:
#include <stdio.h>
void main()
{
char x;
x=getchar();
if(0<=x&&x<=9)
printf("%d",x);
else
putchar(x);
}
实现三
#include <stdio.h>
void main()
{
char x;
x=getchar();
putchar(x);//本来就是原样输出 没必要判断
}
最后一个你运行一下这个 认真体会一下
#include <stdio.h>
void main()
{
char x;
x=getchar();
if('0'<=x&&x<='9')
printf("%d",x);
else
putchar(x);
}