c程序问题
main()
{int i=0,s=0;
do{
if(i%2){i++;continue;}
i++;
s+=i;
}while(i<7);
printf(“%d\n”,s);
}
这个问题的答案是什么,为什么?
参考答案:i=0开始
0%2=0为false 执行{i++, s=s+i} 得i=1,s=1
1%2=1为true 执行(i++, continue退出) 得i=2,s不变=1
2%2=0为false 执行(i++, s=s+i) 得i=3,s=4
3%2=1为true 执行(i++, continue退出) 得i=4,s不变=4
4%2=0为false 执行(i++, s=s+i) 得i=5,s=9
5%2=1为true 执行(i++, continue退出) 得i=6,s不变=9
6%2=0为false 执行(i++, s=s+i) 得i=7,s=16
当i=7时不满足i<7不再执行上面的do 此时s=16.
continue的意思是结束本次循环,开始下一次循环!!