老牛来学习 发表于 2020-6-25 17:43:51

C语言S1E6

#include<stdio.h>
#include<math.h>

int main()
{
    unsigned long long int sum = 0,temp,weight;
    int i;

    for(i = 0; i<64; i++)
    {
      temp = pow(2,i);
      sum = sum + temp;
      //上面这两行代码改成sum = sum + pow(2,i);为什么显示发结果不一样?
    }

    printf("舍罕王应该给予达依尔%llu粒麦子\n",sum);
    printf("如果每25000粒麦子为1kg,那么应该给%llukg麦子\n",sum/25000);
}

liuzhengyuan 发表于 2020-6-25 17:46:30

一样呀?

老牛来学习 发表于 2020-6-25 17:49:10

liuzhengyuan 发表于 2020-6-25 17:46
一样呀?

我第一种运行正常,注释的第二种运行结果是0

liuzhengyuan 发表于 2020-6-25 17:53:19

老牛来学习 发表于 2020-6-25 17:49
我第一种运行正常,注释的第二种运行结果是0

我这里是正常的

老牛来学习 发表于 2020-6-25 17:53:43

liuzhengyuan 发表于 2020-6-25 17:53
我这里是正常的

好吧 谢谢了

405794672 发表于 2020-6-25 18:47:11

继续别人正常,那就是你编译器的问题。
页: [1]
查看完整版本: C语言S1E6