int main()
{ int i=0,s=0;
do{
if(i%2){i++;continue;}
i++; s +=i;
}while(i<7);
printf("%d\n",s);
return 0;
}
打印输出结果
答案:16
解题过程
i=0时候,先在if语句之中,0%2=0,为假,不运算{}内的函数,运算{}外面的i++,然后先调用,i为0,i++之后为i=1,s=s+i=0+1=1;
i的值变为1,1%2为1,为真,运算{}内的i++,此时,{}外的i++的i为2,进行i++运算,变为i=3,s=1+3=4;
然后i的值为3,3%2=1,为真,运算{}内的i++,此时,{}外的i++的i为4,进行i++运算,i=5,s=4+5=9
然后i的值为5,5%2=1,为真,运算{}内的i++,此时,{}外的i++的i为6,进行i++运算,i=7,s=9+7=16
此时i=7,不循环,因此最后s=16