以下程序段的输出结果是什么?要有详细执行过程。

int i=0,sum=1;do{sum+=i++;}while(i<5);printf("%f尀n",sum);
2024年11月19日 21:18
有1个网友回答
网友(1):

printf("%f\n",sum)的话,结果是0.000000 printf("%d\n",sum)的话,结果是11。sum初始值是1,执行sum+=i++;
sum+=i++就等同于sum=sum+i++(i++等同于i=i+1).第一次执行sum+=i++;此时sum=1,i=0 所以sum=1+0 第二次执行 sum=1+1 因为第一次执行后sum=1;i=1;第三次执行 sum=2+2;第四次执行 sum=4+3;第五次执行 sum=7+4;