• Уменьшение отступа

    Обратная связь

    (info@ru-sfera.pw)

На заметку Двойное отрицание в си


X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 176
img3.jpg


Хе хоть классический си (Не путать с С++) относительно простой язык, но чем больше в нем разбираюсь, тем больше узнаю новых вещей...Dmeh-Smeh-Smeh!!!

Вот недавно обнаружил интересную конструкцию, примерно так:
Код:
bool a
{
.....
return !!b
}

Как видите функция возвращает двойное отрицание !!b, но зачем, ведь двойное отрицание по идеи исключает отрицание...sholoh it

Оказалось всё давольно просто, вот смотрите:

- Если b=1, то будет "Истина";

- Если b=0, то будет "Ложь";

- А если b например не bool, а, допустим, int, то он станет булом, т.е в нашем случае код будет вести себя так:

a = 0 => false
a !=0 => true

Честно очень интересный для меня момент !WinkSmile
 
Верх Низ