C语言中这两种有啥区别啊,sum=sum+i;位置不同
#include<stdio.h>int main()
{ int i=1;
int sum=0;
while(i<=10)
{ sum=sum+i;
printf("i=%d,sum=%d\n",i,sum);
i++;
}
printf("%d",sum);
getchar();
return 0;
}
______________________________________________________
#include<stdio.h>
int main()
{ int i=1;
int sum=0;
while(i<=10)
{
printf("i=%d,sum=%d\n",i,sum);
sum=sum+i;
i++;
}
printf("%d",sum);
getchar();
return 0;
}
本帖最后由 jackz007 于 2019-11-25 11:23 编辑
很显然,前一种每次显示的都是加过 i 的 sum,而后者每次显示的都是加 i 前的 sum,两个 sum 的大小始终差一个 i 值。但是,循环完后,二者最后显示出的 sum 数值应该是完全相同的。 这个最直接的办法是你直接编译一下再对比就知道啦,第一个代码的while循环里是先将sum+i再打印输出,第二个代码是先打印前一个sum,然后sum+i
建议用for循环:int i,sum=0;
for(i=1;i<=10;i++)
{
sum+=i;
printf("i=%d,sum=%d\n",i,sum);
}
页:
[1]