为什么输出结果是0000啊
#include<stdio.h>#include<math.h>
int main()
{
inti;
unsigned long long sum=0;
unsigned long long temp; 这是我的代码,他的运算应该是1+2+4+8+16......但是结果输出来是0啊啊啊,哪里出错了,请教大佬
unsigned long long weight;
for (i=0;i<64;i++)
{
temp=pow(2,i);
sum=sum+temp;
}
weight= sum/25000;
printf("总共有%d粒麦子\n",sum);
printf("总重.3%f\n",weight);
return 0;
} 【成都水贴9921471】水贴1次
相同贴:
为什么我的输出来是0啊啊啊
https://fishc.com.cn/thread-217782-1-1.html
本帖:
为什么输出结果是0000啊
https://fishc.com.cn/thread-217783-1-1.html
本帖最后由 jackz007 于 2022-9-14 18:05 编辑
#include<stdio.h>
int main(void)
{
unsigned long long d , i , j , sum ;
double weight ;
for(i = sum = 0 ; i < 64 ; i ++) {
for(d = 1 , j = 0 ; j < i ; j ++) d *= 2 ;
sum += d ;
}
printf("总共有 %I64u 粒麦子\n" , sum) ;
weight = sum / 25000.0 ;
printf("总重 %.3lf\n" , weight) ;
}
编译、运行实况:
D:\\C>g++ -o x x.c
D:\\C>x
总共有 18446744073709551615 粒麦子
总重 737869762948382.120
D:\\C>
hveagle 发表于 2022-9-14 17:47
【成都水贴9921471】水贴1次
相同贴:
为什么我的输出来是0啊啊啊
不是啊,我第一次发的贴没有显示,我以为网不好贴没发出去啊 hveagle 发表于 2022-9-14 17:47
【成都水贴9921471】水贴1次
相同贴:
为什么我的输出来是0啊啊啊
我想删帖也不知道在哪删 jackz007 发表于 2022-9-14 17:58
编译、运行实况:
你好,请问我的代码哪里出错了呢 清如许 发表于 2022-9-14 18:04
你好,请问我的代码哪里出错了呢
最大的错误是 unsigned long long 不可以用 %d 来做 printf() 的格式描述符。 hveagle 发表于 2022-9-14 17:47
【成都水贴9921471】水贴1次
相同贴:
为什么我的输出来是0啊啊啊
一个帖子审核慢了,导致楼主以为帖子没发出去重新发了
刚刚另个帖子甲鱼哥又过审核,导致两个帖子一次性出现了 哈哈
自己删帖,只有在帖子没有一个评论时候删帖,否则只有版主和管理团队的人员删帖~
Twilight6 发表于 2022-9-14 18:12
一个帖子审核慢了,导致楼主以为帖子没发出去重新发了
刚刚另个帖子甲鱼哥又过审核,导致两个帖子一 ...
OK Twilight6 发表于 2022-9-14 18:12
一个帖子审核慢了,导致楼主以为帖子没发出去重新发了
刚刚另个帖子甲鱼哥又过审核,导致两个帖子一 ...
谢谢大佬{:10_266:}
页:
[1]