Помните оператор взрыва '!' или восклицательный знак на английском языке, встроенный в язык программирования как средство отрицания.
Рассмотрим пример троичного оператора:
(some condition) ? true : false;
Теперь, если бы это было отменено, троичный оператор был бы таким
(some condition) ? false : true;
Общей областью, в которой некоторые программисты могут получить немного соответствия, является функция strcmp
, которая возвращает 0 для одинаковых строк и 1 для двух не совпадающих строк:
if (strcmp(foo, "foo")){
}
Когда это действительно должно быть:
if (!strcmp(foo, "foo")){
}
Обычно, когда вы отрицаете, все наоборот, как показано в примере с троичным оператором ...
Надеюсь, это поможет.