Постфиксные операторы в циклах while
Я просматривал код C++ сегодня, когда наткнулся на это:
while (c--) {
a = (a + 1) % n;
while(arr[a]) a = (a + 1) % n;
}
с было целым числом. Не делают ли циклы while логические выражения для оценки? Я знаю, что 1 и 0 в порядке, потому что они представляют истину и ложь, соответственно, но в этом случае c принимает значения, отличные от 0 и 1. Что это делает?
1 ответ
Решение
Все, что не равно 0, считается истинным, так что это будет цикл до C=0.
Может быть простой случай "использования меньшего количества кода"