我想用 121 个整数填充一个 int 数组,从 0 到 120。有什么区别:
-
for(int i = 0; i < 122; arr[i] = i, i++){}
和 -
for(int i = 0; i < 122; i++){arr[i] = i;}
?
我检查了一下,除了warning: iteration 121u invokes undefined behavior
,我认为这与我的问题无关,代码编译正常并获得预期结果
编辑:感谢所有注意到可读性问题的人,这当然是真的,但我想看看这两行是否有不同的解释,所以我检查了 C 中的这两行到汇编,它们看起来相同
最佳答案
没有,结果是一样的。
第一个结构使用逗号运算符;逗号运算符的左侧排在右侧之前,因此 arr[i] = i, i++
定义明确
不过,第二个更容易阅读,特别是如果选择省略 {}
完全:
for(int i = 0; i < 122; arr[i] = i, i++); //this ; is evil, don't write such code.
还有,如果你想填满120个元素,你应该使用i < 120
.
关于c++ - for循环在循环条件内执行,c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33235694/