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