为什么我算的是十八,不是三加六加九吗

img

s+=i可以理解为s=s+i;
程序注释一下:

#include<stdio.h>
int main()
{
int i=0,s=0;
do {
if(i%2) { //i是奇数
i++;
continue;
} ///i是偶数
i++; //自加
s+=i; //累加
} while (i<7); //直到i>=7终止
printf("%d\n",s);
}

解释:
当i%2为1时执行if里面的语句i++,然后continue跳出这个循环继续执行下次
当i%2为0时i++,执行s+=i,一直到i不满足小于7(程序也就是累加1+3+5+7)
最后输出应该是16
希望对题主有所帮助,望采纳!!

s += 1 s = 1
s += 3 s = 4
s += 5 s = 9
s += 7 s = 16