x值是3还是5的问题我还是没明白啊!我疯掉了快```

来源:百度知道 编辑:UC知道 时间:2024/07/06 15:27:59
题目如下:(求最后x的值?答案是5) 麻烦依照我下面写的的错误思路回答 谢谢·!!
for(int x=0,j=0;j<2;j++) //1
{ //2
x++; //3
for(int i=0;i<=5;i++) //4
if(i%4){x++;} //5
else{continue;x--;} //6
break; //7
x++; //8
} //9

我认为,首先一开始,到第3行,x变为1,第4,5,6行使得x变为3(内部循环i从1到5,x加了两次),接下来不就到break了吗?外部直接结素了啊!那么最后x不就是3了??糊涂了````
maximum14bytes,你的意思是,i%4只要不是0都算1一样执行?是这个意思吗?也请看到的回答一下 谢谢大家!

值是5
if(i%4){x++;} //5 这一句执行了4次
当i= 1 2 3 5的时候 i%4 的值为 1 2 3 1
所以
x=5

break出现在循环语句的循环体中,当循环条件还未变为假时提前结束循环语句的执行(强行退出循环)。
这个说明结束的是内部循环,而内部X已经+3了,在执行最后的外部循环,2次,正好是5

运行看看不就知道了。。。