JJCKA 发表于 2020-9-22 12:14:10

课后作业中计算麦子数的,不明白%llu是表示什么数据的。

#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 = temp + sum;
        }       
       
        weight = sum/25000;
       
        printf("颗粒数目%llu\n",sum);
        printf("重量%llu\n",weight);
       
        return 0;
}
为什么最后打印时候如果用 %d 与 %llu 的结果不一样(前几位就不一样)。以及想知道%llu是什么时候用的。
谢谢大家

sunrise085 发表于 2020-9-22 13:01:36

不同类型的数据对应不同的格式化类型。
%llu对应的就是unsigned long long 类型
%d对应的就是int类型
因为他们的位数是不一样的,所以不能混用
页: [1]
查看完整版本: 课后作业中计算麦子数的,不明白%llu是表示什么数据的。