Постфиксные операторы в циклах while

Я просматривал код C ++ сегодня, когда наткнулся на это:

while (c--) {
a = (a + 1) % n;
while(arr[a]) a = (a + 1) % n;
}

с было целым числом. не в то время как циклы принимают логические выражения для оценки? Я знаю, что 1 и 0 в порядке, потому что они представляют истину и ложь соответственно, но в этом случае c принимает значения, отличные от 0 и 1. Что это делает?

0

Решение

Все, что не равно 0, считается истинным, так что это будет цикл до C = 0.

Может быть простой случай «использования меньшего количества кода»

1

Другие решения


По вопросам рекламы [email protected]