【问题标题】:Increment inside the for loop and outside the for loop在 for 循环内和 for 循环外递增
【发布时间】:2019-01-17 01:26:18
【问题描述】:

在下面的循环中,哪个 i++ 将首先执行?是在 for 循环内还是在第 3 行?

enter code here

1.for(i = 0; i < 3; i++) {
2.a[i] = a[i] + 1;
3.i++;
4.}

【问题讨论】:

  • 关于解决家庭作业的问题必须证明自己的努力,请参阅help center
  • 技巧问题,第一次通过循环它的内部,所有其他时间它都在 FOR 声明中,你真的没有 i++“循环外”,声明,cond 检查, 跳过迭代。然后内部范围运行,然后 i 再次递增。因此,您第一次进入循环时会获得一个增量,之后每次都就像拥有 i++ 一样;在范围内连续两次。您可以使用 ++i 进行切换。 . . .

标签: c for-loop post-increment


【解决方案1】:

循环内的那个首先被执行。循环声明中的那个总是在每个循环结束时执行,然后开始下一次迭代。

【讨论】:

    【解决方案2】:

    自己测试难吗?:

    #include <stdio.h>
    
    int main(void) {
        for(int i = 0; i < 50; i++) 
        {
            printf("i before increment = %d\n", i);
            i++;
            printf("i after increment = %d\n", i);
        }
        return 0;
    }
    

    自己运行和测试 https://ideone.com/N76Q2n

    一切都会清楚的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-12
      • 1970-01-01
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多