我有以下代码片段,我得到的输出是 4。如果需要 i=2 或 0,请解释我。我很困惑。输出是4?
int main() {
int i=2;
for(i=0;i<2;i++) {
i=i%3;
if(i==2) {
i++;
continue; }
else
++i;
}
printf("%d",i);
}
循环以 i = 0
. theif
和 the else
to 完全一样。增加i
并继续。
如果您使用一点逻辑,则可以将整个块简化为i++
( i = i % 3
has no effect since i < 2
)。
无法4
使用您发布的代码。
输出不能4
用于您发布的程序,因为到循环中断时,值i
将是2
,而不是4
并且循环将只运行一次。
此外,您的代码永远不会进入if
块,因为条件是循环i==2
内永远不会为真for
,因为到那时循环将退出。
所以你的代码相当于这个:
int main() {
int i=2;
for(i=0;i<2;i++) {
i++;
}
printf("%d",i);
}