Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
koder
3 / 3 / 0
Регистрация: 13.06.2012
Сообщений: 28
#1

Что делает оператор ! в выражении инструкции? - C++

28.07.2012, 23:28. Просмотров 1638. Ответов 21
Метки нет (Все метки)

Меня что то запутали, к примеру :

C++
1
2
 int n=3, n2=0;
 if(!n != n2) cout << "\n";
Перенос строки выведется если выражение будет истинным, то есть оператор ! изменит значение своего операнда с 3 на 0 и получится, что 0 не равно 0, а это ложь и по этому перенос строки не выведется.
Но мне говорят, что этот оператор не изменяет значения операнда, а заставляет вывести тело инструкции даже если проверка дала ложь и наоборот если истину, то не вывести. Проблема в том, что я не могу придумать как это проверить, а информации по этому поводу тоже не нашел. Вот к примеру ещё этот код :

C++
1
2
 int n=3, n2=0;
 cout << !n << !n2;
Выведется 0 и 1, то есть здесь меняется значение переменной n c 3 на 0 и переменной n2 с 0 на 1 ? Или под "!n" имеется ввиду логическое выражение, которое проверяется и если оно не ноль, то значить это истина, но из за оператора ! оно станет ложным и выведется 0.
Какой вариант правильный и почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2012, 23:28     Что делает оператор ! в выражении инструкции?
Посмотрите здесь:

Обьясните пожайлуста как и что делает данный оператор в этом выражении fState [x][y] ^= 1;. Неполный код привожу ниже. - C++
Вот код программы из книжки Ч. Петзолд (Програмирование для Windows® 95) #define DIVISIONS 5 ... ... LRESULT CALLBACK WndProc(HWND...

что делает оператор? - C++
Добрый день. Подскажите пожалуйст, что делает следующий оператор: *b=(char *) malloc(1000000);

Что делает оператор >> в C++? - C++
кто-нибудь может объяснить что конкретно делает оператор &gt;&gt; в C++. есть один пример. Там используется api-функция GetLogicalDrives. ...

Что делает этот оператор - C++
((i &lt; 2) ? !i ? x : у : x);

Что делает оператор init в данной ситуации (работа с двумерными массивами) - C++
Есть фрагмент кода C++. const int ROWS = 10, COLUMNS = 10; int matrix; init(&amp;matrix); int temp, sum = 0;

Что означает и делает оператор ">>=" - C++
Глупый вопрос, но тем не менее. Что означает и делает оператор &quot;&gt;&gt;=&quot;. Может есть русское описание?

Не пойму что означает амперсанд в инструкции if - C++
Здравствуйте, объясните пожалуйса, что знчит амперсант в инструкции if ведь здесь он не выполняет функцию поразрядного оператора, да и на...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
29.07.2012, 18:56     Что делает оператор ! в выражении инструкции? #21
Цитата Сообщение от NightmareZ Посмотреть сообщение
Вот, например, работая дворником, вообще думать не нужно. Подумай об
этом.
я полагаю, ты (или сколько вас?) не имел ввиду обидеть меня или дворников, но все равно глупость написал (-и). как раз работая дворником, больше времени думать можешь о чем хочешь (о том, что такое !n == m, например). а когда недворником, то о таких вещах думать и некогда, и неинтересно.

Добавлено через 4 минуты
любителям писать такие заморочки могу посоветовать погуглить "how to write unmantainable code". думаю, где-то еще лежит. там много подобных "полезных вещей".
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2012, 19:10     Что делает оператор ! в выражении инструкции?
Еще ссылки по теме:

Как возможно выйти в инструкции switch в начало самой инструкции при нажатии "не правильной" кнопки - C++
В целом у меня вопрос такой: Как возможно выйти в инструкции switch в начало самой инструкции при нажатии не правильной кнопки. Вот...

Нужно засунуть код инструкции в 4 char'a так, чтобы в памяти это был код инструкции. - C++
Доброго времени суток. Есть дизассемблированный код. Нужно засунуть код иструкции в 4 чара так, чтобы в памяти это был код инструкции. Как...

что делает функция? - C++
int slength ( char*str){ int Len = -1; while (++len, *str++); return len; } возвращает длину строки? Добавлено через 42...

Что делает строка? - C++
Что делает 14 строка? P.S. Программа читает пары с файла и выводит их на экран. # include &lt;iostream&gt; # include &lt;string&gt; # include...

Что делает printf? - C++
Народ! Я уже прочитал много страниц и так ни черта не понял про printf. Прошу, объясните мне что он делает, и что печатает (судя по моим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
NightmareZ
1339 / 562 / 37
Регистрация: 31.03.2009
Сообщений: 1,918
29.07.2012, 19:10     Что делает оператор ! в выражении инструкции? #22
Цитата Сообщение от novi4ok Посмотреть сообщение
я полагаю, ты (или сколько вас?) не имел ввиду обидеть меня или дворников, но все равно глупость написал (-и). как раз работая дворником, больше времени думать можешь о чем хочешь (о том, что такое !n == m, например). а когда недворником, то о таких вещах думать и некогда, и неинтересно.
Я хотел сказать, что если ты не в состоянии осилить самые-самые азы и считаешь их чем-то сложным, то стоит подумать о смене профессии, а не колупать людям мозг.

Не по теме:

И, да, безусловно, дворники - очень нужные люди. Во всяком случае, пока их не заменят роботы.

Yandex
Объявления
29.07.2012, 19:10     Что делает оператор ! в выражении инструкции?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru