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;