求助为什么结果相差1
#include<stdio.h>#include<math.h>
int main()
{
int i=1,sum=0,a,result;
while(i<=5)
{
a=pow(i,i+1);
sum=sum+a;
i=i+1;
}
printf("%d\n",sum);
result=pow(1,2)+pow(2,3)+pow(3,4)+pow(4,5)+pow(5,6);
printf("%d\n",result);
return 0;
}
求助:
为什么结果
sum是16738
result是16739 代码没问题,我这里正常 本帖最后由 jackz007 于 2021-8-11 22:02 编辑
但是,在我这里两个值一样,都是 16739
请参考以下代码:
#include <stdio.h>
int foo(int x)
{
int i , r ;
for(r = 1 , i = 0 ; i < x + 1 ; i ++) r *= x ;
return r ;
}
int main(void)
{
int i , s ;
for(s = 0 , i = 0 ; i < 5 ; i ++) s += foo(i + 1) ;
printf("%d\n" , s) ;
} jackz007 发表于 2021-8-11 21:59
但是,在我这里两个值一样,都是 16739
请参考以下代码:
D:\一些考试\考研\专业课\C语言\1.png 努力早睡的小柒 发表于 2021-8-12 10:37
图片显示不出来{:9_222:},我用的是code blocks软件,编译出的结果sum和result相差1,是因为软件的原因吗
页:
[1]