今天,做PAT时对char 和 int感觉有点弄不清,所以做了一下测试,如下:
测试代码:
#include <stdio.h>
int main()
{
// char c='c';
char a;
while(a!= '#')
{
scanf("%c",&a);
printf("%d ",a);
if((a-48)==1)
printf("really ");
}
return 0;
}
结果:
1 2 3 4 5 6
7 8 #
49 really 32 50 32 51 32 52 32 53 32 54 10 55 32 56 32 35
56#
53 54 35
字符型0-9减去48就是对应的int数字
直接输出的话对应的是ascll码
而输入数值不是个位数的话会当作两个字符处理,所以并不存在用字符代替超过9的数字的想法