【问题标题】:Is it possible to do multiple operations in increment part of for loop in C/C++?是否可以在 C/C++ 中的 for 循环的增量部分中执行多个操作?
【发布时间】:2013-10-07 23:40:48
【问题描述】:

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

int a = 0, b = 0, c = 5;
for(; a < c; increase a by 1 and increase b by 2)

【问题讨论】:

  • 重新打开时的注意事项:添加关于 GNU 语句表达式的答案。

标签: c++ c for-loop block


【解决方案1】:

使用逗号运算符:

for (; a < c; ++a, b += 2)

【讨论】:

    【解决方案2】:

    是的,这是可能的。你也可以在循环中声明多个变量,之前不​​需要这样做。

    for (int a = 0, b = 0, c = 5; a < c; ++a, b += 2)
    

    【讨论】:

    • 声明多个不同类型的变量怎么样?例如for(int a=0, char b='A';;) 不起作用,因为它期望char 是一个变量名。 for(int a=0; char b='A';;) 也不起作用,因为这会将 char 声明放在 for 循环的条件部分。
    • @ZoeyHewll for 循环中的多个声明仅在它们都属于同一类型时才有效。如果您需要多种类型,则必须在循环之前声明它们。请注意,如果您需要一些仅在有限范围内可见/之后自动销毁的变量,您始终可以使用额外的 {} 创建新范围:Extra brace brackets in C++ code
    • 我似乎记得学习过包含在 () 中的某种复合语句,它可以用于 for 循环,但也许它是用另一种类似 c 的语言编写的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多