【问题标题】:increment and decrements in for loopfor循环中的递增和递减
【发布时间】:2014-02-03 13:08:41
【问题描述】:

在 for 循环中我应该只使用 i++i-- 运算符吗?或者我也可以使用i+10i+20i-20 吗?我在 For 循环的增量位置使用了i+10,它没有被执行。但是当我使用i++ 时,它正在被执行。所以请帮我解决这个问题!我试过for(i=0;i<=100;i+20) 是不是错了?

【问题讨论】:

  • 这是什么语言?

标签: loops for-loop increment decrement


【解决方案1】:

至少在 C 和 C++ 中,声明:

i + 20

是一个表达式语句 - 表达式被评估(或者如果优化器计算出结果不会影响程序的可观察行为,则可能不会被评估,这很可能)但否则会被忽略。其实声明:

42

也是有效但同样无用。


应该做的事情之一是:

i += 20
i = i + 20

这将在您的循环中更好地工作,因为它实际上修改循环控制变量。

【讨论】:

    【解决方案2】:

    如果你使用 Java,试试这个:

    for(int i = 0; i<= 100; i+=20){
        System.out.println(i);
    }
    

    在 Java 中 i++ 等于 i = i + 1 。这就是为什么 i + 20 不起作用。所以你必须做类似i += 20i = i + 20 的事情。

    【讨论】:

      【解决方案3】:

      当您使用for(int i = 20; i &lt;= 100; i + 20) 时,这意味着以i = 0 开始循环,每次迭代都执行i + 20 操作,并在i &lt;= 100 执行此操作。操作i + 20ii 无效。您必须在此部分更改 i。编写for(int i = 20; i &lt;= 100; i = i + 20)for(int i = 20; i &lt;= 100; i += 20) 以在每次循环迭代中更改i

      【讨论】:

        【解决方案4】:

        如果这是 Java,那么正确的语法是

        for(i=0;i<=100;i=i+20) 
        

        【讨论】:

          【解决方案5】:

          在 C# 中可能是这样的!

                  for (int i = 0; i < 100; i = i+10)
                  {
                      Console.WriteLine(i);
                  }
          

          【讨论】:

            猜你喜欢
            • 2011-10-15
            • 2018-10-08
            • 2020-03-06
            • 2017-07-05
            • 2019-01-17
            • 1970-01-01
            • 2014-09-10
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多