Я не могу понять, что следующий код делает на s
:В чем смысл! Int_variable--?
if(!s--)
s
является int
Я не могу понять, что следующий код делает на s
:В чем смысл! Int_variable--?
if(!s--)
s
является int
!
называется negation
оператором. Это логический оператор.
См. Здесь wikipedia entry.
if(!s--)
Порядок, в котором он выполняет
s
является 0
или нет, если s
является 0
, if
условие успеха [благодаря оператору !
], в противном случае, отказ.s
на единицу измерения.if
, продолжите выполнение [код под if
условие или следующий блок кода].прямо сейчас, спасибо –
@JensGustedt Спасибо вам. :-) –
Собственно, это вводит в заблуждение.
Вы тестируете s
не совпадает с 0 (с if (!s)
). И затем, потом, независимо от результата, вы уменьшаете его.
Итак, это две разные операции. Это можно было бы записать так:
if (!s)
{
s--;
//...
}
else
{
s--;
}
1) это не функция. 2) использовать разделить и победить. там всего три вещи: 'if'. '!' и '--'. –
Сначала компилятор проверяет, равен ли он равен нулю, чтобы войти в блок if. Тогда s уменьшается на 1. – Mukit09
Thx all! Я понимаю сейчас :) –