永发信息网

同一代码,VC和TC的输出为什么不同?

答案:1  悬赏:40  手机版
解决时间 2021-05-14 23:00
  • 提问者网友:末路
  • 2021-05-14 10:58

main()
{
unsigned a;
int b=-1;
a=b;
printf("%u",a);
}

上面这个程序为什么在VC中输出是4294967295,而在TC中是输出65535??

最佳答案
  • 五星知识达人网友:舊物识亽
  • 2021-05-14 11:51

VC采用的是32位环境,TC用的是16位环境



a为无符号整形,那么如果a=-1的a的取值将会是当前编译环境的整形的最大值



32位环境下,整形为4个字节(32位),无符号整形的最大值为:2的32次方减1为4294967295


16位环境下,整形为2个字节(16位),无符号整形的最大值为:2的16次方减1为65535

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯