int main(void){
int i,j,x=0;
for(i=0;i<2;i++){//这里循环2次
x++;//所以会使x增加2
for(j=0;j<=3;j++){//这里循环4次,本应使x增加4
if(j%2)//可是由于这个判断和continue的存在,只能使下面的x++做两次
continue;//但这个循环是嵌套在前一个循环中的,所以要执行两次循环
x++;//结果还是使x增加了4
}
x++;//这个x++与第一个x++一样也要跟着外循环执行两次使x+2
}//所以总共x增加了8,而最初x=0,所以x的值最后中8
printf("x = %d\n",x);
return 0;
}
在 VC 里面单步运行,就知道为什么了 ~