c++中整型变量和字符变量在任何条件下都可互相替换么?

来源:百度知道 编辑:UC知道 时间:2024/06/24 01:14:52
如题,给我举个例子,讲下为什么,谢谢大家拉!

c++中的字符型比较特殊 它其实就是一个8位的整形变量 即-2^7~2^7-1范围内的整数 和int形的储存方式是一样的 它代表ASCII码所以用来表示字符 但实际上仍然是整数 所以可以和int long 等其他整数相互赋值 但是int是16位 long是32位 所以如果你用一给它们都赋100的话可以 但如果赋1000的话char型就要出问题了 因为超出它的取值范围了

所以 实际上字符型只是一个范围比较小的整形 你完全可以用它进行整形能进行的所有运算 可以和任何整形相互赋值 也可以将一个整形变量按字符格式输出 那么就输出它所代表的ASCII码所代表的字符

互相替换?什么意思呢?你说的是整型与字符变量其中一个通过类型转换或者强制转换赋值给另一个变量,是这个意思嘛?

如果是那个意思,那么不能!!

因为整型占两个字节16位,而字符占一个字节8位。

在整型强制类型转换成字符的时候,是将整型变量的值的低8位截取出来的!是有数据丢失的!

asas