我们之前提到过,最小的整数为char,而在日常的使用当中我们经常使char来进行字符一类的输入,
而字符相对于其他的普通的变量之类的来讲。
就是一个字母或者数字加上一个单引号
在后面的输入和输出的时候,都是使用%c作为输出和输入的方式。
我们在具体的程序中来具体看一下1和带双引号的1的差别是什么。
#include<stdio.h>
int main()
{
char c;
char d;
c = 1;
d = '1';
if (c == d)
{
printf("相等\n");
}
else
{
printf("不相等\n");
}
printf("c=%d\n", d);
printf("d=%d\n", c);
return 0;
}
由于最后的一个是字符一个是数字,所以两个肯定不相等,在结果中就出现了这个问题:

这里的49是1这个字符的阿斯克码值。
阿斯克码值是一个用整数输入字符的一种方法:
比如上面的字符1我们就可以通过整数49来进行输入,当然如果按照字符输入的话就直接定义一个字符变量,然后给它赋值为1就可以了。
比如我们来看一下下面的代码:
#include<stdio.h>
int main()
{
char c;
scanf_s("%c", &c);
printf("c=%d\n", c);//作为整数是什么。
printf("c=%c\n", c);//作为字符是什么。
return 0;
}
结果是输入的是1的话,那用整数看的是1,而用字符来看的话就是49.
具体结果如下:

49在这里就相当于字符1.
ASCLL的具体的性质这里不加赘述。