在for循环和if条件中继续声明

Bab*_*ani 0 c c++ continue

我有以下代码片段,我得到的输出是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); 
}
Run Code Online (Sandbox Code Playgroud)

cni*_*tar 6

循环开始于 i = 0.无论是ifelse完全相同的事情.增量i并继续.
如果你使用一点逻辑,整个块可以减少到i++(i = i % 3从那以后没有效果i < 2).

4使用您发布的代码是不可能的.

  • @BabannaDuggani:在`gcc(GCC)4.6.1 20110819(预发行)`输出是2. IMO这是PEBKAC充其量 (2认同)