c语音
#include <stdio.h>#include <math.h>
int main()
{
int i = 0;
unsigned long long sum = 0 ,weight,temp;
for(;i <= 63;i++)
{
temp = pow(2,i);
sum = sum + temp;
}
printf("舍罕王米粒数 = %llu\n",sum);
weight = sum/25000;
printf("舍罕王应该给予达依尔 %llu 斤麦子\n ",weight);
return 0 ;
}
为什么pow函数计算出的结果一定要用一个temp变量来存放,而不能sum = sum + pow(2,i),这样输出的都是0?? 实测在我的电脑上写成
sum += pow(2,i)
结果正确 BngThea 发表于 2018-1-15 10:45
实测在我的电脑上写成
sum += pow(2,i)
结果正确
不会吧。。。我原来那样写的算出结果是两个都是0,搞不明白,现在不方便再试,晚点再重新试试,谢谢了 BngThea 发表于 2018-1-15 10:45
实测在我的电脑上写成
sum += pow(2,i)
结果正确
重新试过了,那样写打印结果就是两个零{:10_266:}{:10_266:},电脑原因吗,无语 275690930 发表于 2018-1-17 07:35
重新试过了,那样写打印结果就是两个零,电脑原因吗,无语
无法理解 没初始化吧,sum都初始化了 小罗 发表于 2018-1-17 08:46
没初始化吧,sum都初始化了
sum初始化是因为要用于计算,而temp,weight只是用于存放,不影响啊 BngThea 发表于 2018-1-17 07:49
无法理解
我也不理解。。。但是电脑确实是那样的{:10_266:}{:10_266:},给个你的截图看看呗,感激,怀疑电脑的问题了 BngThea 发表于 2018-1-17 12:49
你的结果和我算的不一样,不过不影响,我用手机编译器也是可以得到结果的,用法没错,谢谢了,估计硬件或者其它的问题吧,害我一脸懵逼{:10_250:}{:10_250:}
页:
[1]