第六课课后作业问题
#include <stdio.h>#include <math.h>
int main()
{
unsigned long long sum = 0;
unsigned long long temp;
unsigned long long weight;
int i;
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;
}
为什么我计算的结果和答案的不一样 代码我看了好久。。 其实这里计算得到的麦子数(18446744073709551615 )并非正确的结果,因为 unsigned long long 能够表示最大的数字是 18446744073709551615
这个是正确答案 求教 是 %llu 不是 %11u
页:
[1]