1613551 发表于 2022-10-10 08:52:20

关于无符号整型的问题

本帖最后由 1613551 于 2022-10-10 09:13 编辑

为什么两个程序看上去是一样的,但是结果却大相径庭呢?

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
    int i;
    unsigned long long temp, sum = 0, 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);
    system("pause");
    return 0;
}



#include <stdio.h>
#include <stdlib.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);
system("pause");
return 0;
}

钎玦 发表于 2022-10-10 08:52:21

答:第二个你把ll(小写的L)写成11(数字一)了

1613551 发表于 2022-10-10 08:53:24

本帖最后由 1613551 于 2022-10-10 09:14 编辑

{:10_266:}

1613551 发表于 2022-10-10 08:54:46

本帖最后由 1613551 于 2022-10-10 08:57 编辑

{:10_254:}

钎玦 发表于 2022-10-10 09:29:17

不对!是第一个

人造人 发表于 2022-10-10 09:43:25

像这种问题,你的编译器应该和你说一声的
你的编译器什么也没有和你说吗?
这可真是一个糟糕的编译器,换一个吧

1613551 发表于 2022-10-10 09:59:58

人造人 发表于 2022-10-10 09:43
像这种问题,你的编译器应该和你说一声的
你的编译器什么也没有和你说吗?
这可真是一个糟糕的编译器,换 ...

大佬是用的啥编译器啊,我用的是vscode

人造人 发表于 2022-10-10 10:05:51

1613551 发表于 2022-10-10 09:59
大佬是用的啥编译器啊,我用的是vscode

vim+ycm

1613551 发表于 2022-10-10 10:11:21

人造人 发表于 2022-10-10 10:05
vim+ycm

行,谢谢大佬
页: [1]
查看完整版本: 关于无符号整型的问题