for循环和if条件内的Continue语句

continue statement inside for loop and if condition

本文关键字:Continue 语句 条件 循环 if for      更新时间:2023-10-16

我有以下代码片段,我得到的输出是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开始。ifelse是完全一样的。增加i并继续。
如果你使用一点逻辑,整个块可以减少到i++ (i = i % 3i < 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); 
}