永发信息网

简单的C语言题..

答案:4  悬赏:10  手机版
解决时间 2021-06-05 19:19

有这么个程序..

#include<stdio.h>
void main()
{
unsigned int a=65535;
int b=-2;
printf("a=%d,%o,%x,%u\n",a,a,a,a);
printf("b=%d,%o,%x,%u\n",b,b,b,b);
}
TC的运行结果是

a=-1,177777,ffff,65535

b=-2,177776,fffe,65534

VC++的运行结果是

a=65535,177777,ffff,65535
b=-2,37777777776,fffffffe,4294967294

请问这些都是怎么得出来的? 还有为什么会出现不同 谢谢

最佳答案
内存默认的存储字长不同,在VC下都是32位模式,int已经都改为4字节了
全部回答
%d表示十进制,%o是八进制,x%是十六进制,%u是无符号类型, 明白了吧?

不同的编译器的int所占的字长不同 而你的这个无符号数字65535又恰好是临界值 所以不同的字长就会出现不同的运行结果的

你可以分别在两个编译器下执行这个语句printf(sizeof(int));

TC好像int是占用2个字节 VC6.0 int 占用4个字节 符号位计算方式不同吧。 我猜的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
冒险岛3转是加老鹰召唤还是加疾风步好呢?
淇滨区鹤壁开远新特药大药堂地址在什么地方,
最远距离有多远?
dnf河北一拉罗的迷失之戒价格
宝马好`还是通用好?
天龙天山应该怎样刷慕容
各位大哥大姐谁能送我个游戏人生的资格啊?
问问三级需多少经验?
我花了400块买的N95 8G版,什么都不能下载,
怎么免费点亮所有钻?
有什么好花没?
宁远县永州宁远县九嶷山特产店地址是什么,有
卧室装修与装扮!
七乐彩中三个基本号:一个特别号有钱么
最近新出的网游哪个比较好玩?
推荐资讯
dnf 苍天残影棍多少钱?
戴尔的哪个型号的好?
在家玩游戏很卡
商品经济用英语
商城县信阳无限极专卖店这个地址在什么地方,
黑钻的等级是按什么来计算的?
请帮我算我应领多少工资
梦幻西游新区点卡多少万一张
有没有手机QQ的软件适合任何机型?怎么弄
羊死和人有关吗
老婆孕期我该怎么办
免费的电子书下载网站
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?