【问题标题】:I want to pre-increment an assignment to a variable (pre-increment by value more than 1)? [closed]我想预先增加一个变量的赋值(预先增加超过 1 的值)? [关闭]
【发布时间】:2019-12-04 00:25:44
【问题描述】:

我想在 for 循环中预增加一个赋值

for (int x=0; x<100; x+=increase){
   // loop operation here
}

帖子上面的代码增加了值,但是我想预先增加它。我知道我可以使用++i 语法进行预递增,但是有没有办法通过变量赋值来预递增。

【问题讨论】:

  • 我不知道你所说的“预增量”是什么意思。赋值实际上是“pre”,因为它返回变量的新值。
  • x=increase 替换 x=0,如果这是你想要做的。
  • 后增量和前增量只有在您将赋值表达式的值用于某事时才有意义,例如将其分配给另一个变量或将其传递给函数。你不是在这里这样做,你只是增加变量而不是别的,所以你这样做的任何方式都是等效的。

标签: c++ c pre-increment


【解决方案1】:

听起来你有两个误解。

  1. x += y 已经“等价于”预增量,因为根据定义,x += 1++x 相同。 (重点是 x += y 的值是 x 的更新值,就像 ++x 的值是更新后的值一样。)它是后增量形式 x++ 没有精确的等价物来添加除 1 之外的增量.
  2. 当您编写for(x = 0; x &lt; 100; x += increase) 时,您不会立即使用表达式x += increase 的值,因此使用前置或后置形式并不重要。

如果您希望循环以 increase 而不是 0 的初始值开始,只需编写

for(x = increase; x < 100; x += increase)

【讨论】:

    猜你喜欢
    • 2012-11-19
    • 2013-03-16
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    相关资源
    最近更新 更多