1
    for(int a = 0, b = 1; b < n; a++; b++)
    {
        if (compare(values[a], values[b]))
            counter++;
        else
            {
            int x = values[a];
            values[a] = values[b];
            values[b] = x;
            }
    }

当我尝试编译时,第一行 [ for(int... ] 出现此错误:

helpers.c:68:41: error: expected ')' before ';' token

为什么我需要添加另一个')'?

4

1 回答 1

11
for(int a = 0, b = 1; b < n; a++; b++)
                                ^
                                |
                              problem

您需要在-loop的末尾使用逗号 ( ,) 而不是分号 ( ) 来增加和:;forab

for(int a = 0, b = 1; b < n; a++, b++)
                                ^

这是逗号运算符

这两个 SO 问题也可能会有所帮助:如何在 C++ 'for' 循环中放置两个增量语句? C中完整的“for”循环语法是什么(以及其他兼容的情况下)是什么?

于 2012-07-02T19:15:09.357 回答