C语言中把unsignedchar型数据赋值给int型数据会不会出问题

如题所述

我来告诉你标准答案!这个问题,因为不知道你具体的使用环境,没法作出进一步的判断,只能将unsignedchar型的变量赋给一个int型的变量会发生什么事情告诉你。
unsignedchara='A';
intb=-1666666;
b=a;
由于unsignedchar类型的变量只有一个字节,而int类型有4个字节,当将一个unsignedchar类型的变量赋给一个int型的变量后,会使int型变量的高三个字节全部清零。在上述实例中就是b的高三个字节全部变为0。也就是说b永远为正整数了。细节就是这样了,至于会不会产生副作用,视你的使用环境而定了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-16
不会。unsigned char型变量其本质上只不过是1个字节的无符号int变量,一个单字节无符号整形变量赋给一个双字节int变量不会有问题。本回答被网友采纳
相似回答