C语言简单题目
#include<stdio.h>#include<math.h>
int main()
{
int a,n,sum;
for(a=1;a<=64;a++)
{
n=pow(2,a-1);
sum+=n;
}
printf("%d",sum);
return 0;
}
运行结果不正确,麻烦看看哪错了,谢谢 本帖最后由 jhq999 于 2021-11-17 20:52 编辑
int main()
{
unsigned long long a,n,sum;/////////
sum=0;////////////
for(a=1;a<=64;a++)
{
n=pow(2,a-1);
sum+=n;
}
printf("%llu",sum);//////////
return 0;
} int的字节长度不够,sum值太大,超出int的范围 l1558305008 发表于 2021-11-17 21:04
int的字节长度不够,sum值太大,超出int的范围
茅厕顿开
你这个问题应该是,数字太大了,超过int所能表示的最大范围,所以就错了
页:
[1]