for循环内和for循环外的增量

时间:2018-08-09 14:17:49

标签: c for-loop post-increment

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

enter code here

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

2 个答案:

答案 0 :(得分:1)

首先执行循环中的一个。循环声明中的一个总是在每个循环结束后才开始下一次迭代。

答案 1 :(得分:0)

您自己很难测试吗?:

def zerochunksall(a, maxn):
    l = len(a)
    result = [[0] * l for i in range(maxn)]

    zerolen = 0
    for i in range(l + 1):
        if (i==l) or (a[i] != 0):
            for k in range(0, zerolen):
                for j in range(i - zerolen, i):
                    result[k][j] = 1
            zerolen  = 0
        else:
            zerolen += 1

    return result

print(zerochunksall([0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0], 5))
 >>
[[1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1],
 [0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1], 
 [0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0], 
 [0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

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

一切都会变得清楚。