我想浏览从0
到NB_MAX
或从NB_MAX
到0
的表格,具体取决于随机布尔值。
我尝试使用?:
运算符:
for (int i = (bool) ? 0 : NB_MAX; i < ((bool) ? NB_MAX: 0); i++) {
问题是在i++
和i--
之间切换。
怎么做?
答案 0 :(得分:2)
如果您在for循环声明中插入三元运算符,那么您的代码就不太可读了。
为循环生成两个会更具可读性,其中一个根据条件输入。
if (bool)
{
for (int i = 0; i < NB_MAX; i++)
{
body(i);
}
}
else
{
for (int i = NB_MAX - 1; i >= 0; i--)
{
body(i);
}
}
答案 1 :(得分:1)
应该这样做:
for (int i = (bool) ? 0 : NB_MAX; (bool) ? i < NB_MAX : i > 0; i = (bool) ? i+1 : i-1) { }