fishmozi 发表于 2023-3-15 16:11:11

新人课后作业疑问

新人求助,《带你学c带你飞》第一季第六集(S1E6)课后作业 做一做第1题;
自己手动打代码最后输出结果:
直接复制答案的代码,最后输出结果:
自己手打代码:(已经对着答案改正了):#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,那么应该给%11ukg麦子!\n",weight);
       
        return 0;
}

答案代码:#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("舍罕王应该给予达依尔%llu粒麦子!\n", sum);
      printf("如果每25000粒麦子为1kg,那么应该给%llu公斤麦子!\n", weight);

      return 0;
}
请教大佬们,为什么最后结果显示不同?我用的dev c++,是编译器的问题吗?{:5_100:}

fishmozi 发表于 2023-3-15 16:13:39

自己手打代码第二行有个 “ ] ” 是复制时不小心加上去的。

basketmn 发表于 2023-3-15 18:28:32

是%llu,不是%11u

歌者文明清理员 发表于 2023-3-15 20:54:03

basketmn 发表于 2023-3-15 18:28
是%llu,不是%11u

你把字母小写的L和数字1搞混了

fishmozi 发表于 2023-3-15 21:38:41

basketmn 发表于 2023-3-15 18:28
是%llu,不是%11u

谢谢谢谢
页: [1]
查看完整版本: 新人课后作业疑问