C - for 循环初始值设定项中的 while 运算符

C - while operator in for loop initializer

为什么我不能这样写smthng?

int i, size;
int *arr;
...
for(i = size - 1, while(arr[i] == 0) i--; i >= 0; i--) { ... }

这只是 C 中的无效语法。

您想要的解决方案可能是:

int i, size;
int *arr;
...
for(i = size - 1; i >= 0; i--) {
    if (arr[i] == 0)
        continue;
    ...
}