关于以下用法,我很困惑 --i 如何评估为 true 以及什么决定了循环何时退出:
while (--i) {
k = p[i];
p[i] = p[j = random() % B];
p[j] = k;
}
如果按照我的理解,--前缀在开始循环之前减少 i 的值,那么我们是否评估 true=value > 1 和 false=0,因此当值达到 0 时循环退出?也许我已经回答了我自己的问题,但是如果有人可以启发我的话。另外,如果递减运算符是后缀,这个循环会如何表现?