jianhong_wu 发表于 2014-10-22 11:41:44

整型int和字符型char相互赋值,不会有问题吗?有什么规律?已解答。

本帖最后由 jianhong_wu 于 2014-10-22 13:51 编辑

曹健-江苏:
无符号整型和无符号字符型相互赋值,不会有问题吗?

鸿哥-深圳:
可以相互赋值,但是要掌握规律,否则容易出错。我帮你总结一个规律:
整形int是2个字节,字符型char是1个字节。
(1)当整形int赋值给字符型char时,只是把整形的低位字节数据赋值给了字符型char数据,比如:
unsigned int a=0x1234;
unsigned char b=0x56;
b=a;
那么赋值后b就是0x34.

(2)在c51编译器中,当字符型char赋值给整形int时,把字符型char数据赋值给了整形的低位字节数据,整形的低位字节数据被覆盖了,同时整形的高位字节数据会变成了0。比如:
unsigned int a=0x1234;
unsigned char b=0x56;
a=b;

那么赋值后a就是0x0056;

黑夜之狼 发表于 2014-10-22 11:54:30

受教了:lol
页: [1]
查看完整版本: 整型int和字符型char相互赋值,不会有问题吗?有什么规律?已解答。