程序输出结果问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 17:13:45
main()
{int s,i;
for(s=0,i=1;i<3;i++,s+=i)
printf("%d\n",s);
}
这个问题的输出结果是5,想不明白为什么,有高手能解释下嘛?
s+=i 是什么意思丫?学过,但是不是很明白,讲解一下可以吗?

第一次循环i=1
i=i+1=2
s=s+i=0+2=2
第二次循环 i=2
i=i+1=3
s=s+i=2+3变为5
第三次循环 i=3
i<3变为假,退出循环

第一次循环一开始 i=1,s=0 i++之后i=2,s+=i等价于s=s+i,所以s=0+2=2

第二次循环开始 i=2,s=2 i++后i=3,s=s+i=2+3=5

第三次循环开始 i=3 不符合i<3的条件 循环结束
输出s值为5