请问c语言中,unsigned int类型变量可以赋给int类型吗???会不会出问题??

如题所述

可以赋值,正数无所谓,负数会有符号位的问题,赋值后会和原来不一样,是因为负数在系统中是用补码的形式存放的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-13
这个可能会出现问题哦,只要数值不是大于2的七次方就不会出现任何问题,如果超过了,编译器就会报错说你放的数太大了。追答

就想用小杯子也可以装大杯子里的水,只是不一定能装的下

这是超出范围后的测试结果
#include
int main()
{
unsigned int b=100000000001;
int a;
a=b;
printf("%d\n",a);
}
//[Error] C:\Users\Administrator\Documents\C-Free\Temp\未命名1.cpp:4:
error: integer constant is too large for "long" type

本回答被网友采纳
第2个回答  2015-05-13
unsigned int可以赋值给int,加强制类型转换。有溢出问题
第3个回答  2015-05-13
有可能 比如int只可以装65535但是 前面的数据远比这个大int装不了
相似回答