各位大佬 新手想求助学c的s1e6的课后作业
本帖最后由 永远Forever 于 2022-7-30 13:10 编辑#include <stdio.h>
#include <math.h>
int main()
{
int i;
unsigned long long temp;
unsigned long long sum = 0;
unsigned long long weight;
for (i=0; i < 64; i++)
{
temp = pow(2, i);
sum = sum + temp;
}
weight = sum / 25000;
printf("舍罕王应该给予达依尔%11u粒麦子!\n",sum);
printf("如果每25000粒麦子为1kg,那么应该给%11u公斤麦子!\n",weight);
return 0;
}
这段代码在我艰苦卓绝终于打了出来并且运行出来,但是运行结果的数据和小甲鱼给的数据不一样,不知道是不是其中代码有出问题的情况
1.还想问问大佬们第11行的i++是什么意思呢
2.第11行和12行的 "11" 指的是是11位位置吗,但我看小甲鱼那个结果不只11位数字 所以,你的问题是什么 临时号 发表于 2022-7-30 13:08
所以,你的问题是什么
抱歉,在上面,刚刚没打完就发出来了{:10_284:} 永远Forever 发表于 2022-7-30 13:11
抱歉,在上面,刚刚没打完就发出来了
1.i++表示i自增1
2.第11行和第12行的%11u应该是%llu吧 临时号 发表于 2022-7-30 13:33
1.i++表示i自增1
2.第11行和第12行的%11u应该是%llu吧
{:10_266:}{:10_266:}是欸,那llu代表什么意思呀 永远Forever 发表于 2022-7-30 16:56
是欸,那llu代表什么意思呀
unsigned long long类型的格式化输出符号 至于原因, 数太大了, 所以用long long, 害怕这样还是不够, 考虑到这个值不可能是负数, 所以把负数砍掉了, 做成无符号.
这样正数支持的范围会更大一些. 原来是llu吗?我也是最后的数据结果不对,我居然算了个负数
页:
[1]