- char本身其实就是一定范围的int,有符号范围为:-128~128,当我们给一个字符c赋值的时候,其实是把那个字符的对应的ASCII码给了那个变量。
- 所以我们对char做位运算的时候,和对int做位运算一样的,都是转化为2进制,因为char也其实存的就是个十进制的数。
char c = '2';//是把2的ASCII(10进制)码赋给了c
char c = 2; //是把ASCII码2给了c
int main(void){
char a = 50; //储存了个ASCII码
printf("%c %d",a,a);
//一个输出了ASCII码为50对应的那个字符 另一个输出了a储存的值
return 0;
}
// 2 50