Churling 发表于 2021-10-10 22:46:15

三个做课后作业遇到的小问题,求大佬帮忙!!!

javascript:;javascript:;javascript:;
第一张图是我写的代码,第二张是我的程序运行,第三张是标准答案,
问题一:标准答案第六行:(sum =0;)为什么要打出这个等于0
问题二:第十九,二十行,为什么输出的是%11u,%11我知道是宽度,但这为什么用U,这输出的不是整数吗?
问题三:图二是我根据答案修改后运行出来的程序,我改出来的代码和答案应该是一样的,但为什么计算结果却不同?

求求大佬们帮帮忙!!!!!!
蟹蟹了!!!!!

大马强 发表于 2021-10-10 23:30:15

1、初始化是个好习惯,很多奇奇怪怪的问题就是没有初始化
2、d,lx,ld,,lu,这几个都是输出32位的
hd,hx,hu,这几个都是输出16位数据的,
hhd,hhx,hhu,这几个都是输出8位的,
lld,ll,llu,llx,这几个都是输出64位的感兴趣的可以去百度
3、大概和你电脑位数有关,我用小甲鱼代码也和你结果不一样,发下你代码我运行下

loverinmydream 发表于 2021-10-10 23:40:08

第一个问题:这是变量初始化,sum变量在后面直接用于计算,有些编译器会自动初始化为0,但有些不会,为了防止编译器不同而出现问题
第二个问题:u是以无符号整形形式输出,这里的数字很大且可以确定没有负数,为了最大化数的范围,所以可以舍弃负数
至于第三个问题,我自己运行也和小甲鱼一样,我也不知道为什么
页: [1]
查看完整版本: 三个做课后作业遇到的小问题,求大佬帮忙!!!