han*_*nah 1 c for-loop comma-operator
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;
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译时,第一行[for(int ...])出现此错误:
helpers.c:68:41: error: expected ')' before ';' token
Run Code Online (Sandbox Code Playgroud)
为什么我需要添加另一个')'?
Lev*_*von 11
for(int a = 0, b = 1; b < n; a++; b++)
^
|
problem
Run Code Online (Sandbox Code Playgroud)
你需要一个逗号(,),而不是一个分号(;)在你结束for-loop在那里你既增加a和b:
for(int a = 0, b = 1; b < n; a++, b++)
^
Run Code Online (Sandbox Code Playgroud)
这是逗号运算符.
这两个SO问题也可能有用:如何在C++'for'循环中放入两个递增语句? 和什么是全"为"用C循环语法(如果和其他人,他们是兼容的)?