【问题标题】:increment and decrements in for loopfor循环中的递增和递减
【发布时间】:2014-02-03 13:08:41
【问题描述】:
在 for 循环中我应该只使用 i++ 或 i-- 运算符吗?或者我也可以使用i+10、i+20、i-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 += 20 或i = i + 20 的事情。
【解决方案3】:
当您使用for(int i = 20; i <= 100; i + 20) 时,这意味着以i = 0 开始循环,每次迭代都执行i + 20 操作,并在i <= 100 执行此操作。操作i + 20 对i 和i 无效。您必须在此部分更改 i。编写for(int i = 20; i <= 100; i = i + 20) 或for(int i = 20; i <= 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);
}