新手:编译时出现C语法错误


    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

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

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

你需要一个逗号(,)而不是分号(;)在你的for循环的末尾,你递增ab

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

这是逗号运算符。

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

相关内容

  • 没有找到相关文章

最新更新