i++ 在三元语句中不起作用

i++ doesn't work in ternary statement

有人可以向我解释为什么这个声明不起作用吗?

i = (i >= 8 ? 1 : i++);

还有这个呢?

i = (i >= 8 ? 1 : (i + 1));

正如 Raymond 提到的,您使用的是后增量,在这种情况下您应该使用预增量:

i = (i >= 8 ? 1 : ++i);