C语言中,定义ch1为字符型变量,为什么可以赋值整数?为什么可以以整形格式输出ch1?定义整形变量

C语言中,定义ch1为字符型变量,为什么可以赋值整数?为什么可以以整形格式输出ch1?定义整形变量ch2,并给ch2赋值为66,为什么可以以字符类型输出ch2?赋值ch2=ch2+2,为什么以字符型格式输出ch2结果是D?

char变量存的就是字符的ASCII编码,占用1字节,取值范围在0~255之间
举个例子:
char ch1 = ‘a’;
char ch1 = 97;//把字符a的ASCII编码赋值给ch1
这两种方式都是可以的追问

那请问整形格式的ch2为什么也能以字符型格式输出呢?

追答

char格式是1字节的输出,整形int是4字节,输出时会把int类型转换成char格式在输出,中间经过了类型转换

追问

奥,谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-28
字符格式有ASCA玛追答

懂否

追问

也就是说字符型格式能赋值数值,并且能以整形格式输出,对吗?

那为什么整形格式的ch2能赋值字母?并且能以字符型格式输出?

追答

因为你主动定义啊

不然电脑会默认

追问

整形格式的ch2能赋值字符,对吧?

追答

一般不要这样,不符合使用习惯

相似回答