是否可以在C/C++的for循环的增量部分执行多个操作?

Luk*_*ger 10 c c++ for-loop block

是否可以在C/C++的for循环的增量部分执行多个操作?像这样的东西:

int a = 0, b = 0, c = 5;
for(; a < c; increase a by 1 and increase b by 2)
Run Code Online (Sandbox Code Playgroud)

0x4*_*2D2 21

使用逗号运算符:

for (; a < c; ++a, b += 2)
Run Code Online (Sandbox Code Playgroud)


use*_*027 9

对的,这是可能的.您也可以在循环内声明多个变量,之前不​​需要这样做.

for (int a = 0, b = 0, c = 5; a < c; ++a, b += 2)
Run Code Online (Sandbox Code Playgroud)

  • 声明多个不同类型的变量怎么样?例如 `for(int a=0, char b='A';;)` 不起作用,因为它期望 `char` 是一个变量名。`for(int a=0; char b='A';;)` 也不起作用,因为它将 char 声明放在 for 循环的条件部分中。 (2认同)
  • @ZoeyHewll for循环中的多个声明仅在它们都是相同类型时才起作用。如果需要多种类型,则必须在循环之前声明它们。请注意,如果您需要一些仅在有限范围内才可见/随后会自动销毁的变量,则始终可以使用额外的{{}`来创建新范围:[C ++代码中的大括号](http:// stackoverflow。 com / q / 3568503/1942027) (2认同)