while 循环中的后缀运算符
Postfix operators in while loops
今天我在浏览一些 C++ 代码时偶然发现了这个:
while (c--) {
a = (a + 1) % n;
while(arr[a]) a = (a + 1) % n;
}
c 是一个整数。 while 循环不采用要计算的布尔表达式吗?我知道 1 和 0 很好,因为它们分别代表真和假,但在这种情况下,c 取的值不是 0 和 1。这是做什么的?
任何不是 0 的都被认为是真的,所以这将循环直到 C=0。
可能只是 "using less code"
的一个简单例子
今天我在浏览一些 C++ 代码时偶然发现了这个:
while (c--) {
a = (a + 1) % n;
while(arr[a]) a = (a + 1) % n;
}
c 是一个整数。 while 循环不采用要计算的布尔表达式吗?我知道 1 和 0 很好,因为它们分别代表真和假,但在这种情况下,c 取的值不是 0 和 1。这是做什么的?
任何不是 0 的都被认为是真的,所以这将循环直到 C=0。
可能只是 "using less code"
的一个简单例子