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

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

Войти
Регистрация
Восстановить пароль
 
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
#1

Разница между "==" и "=" в выражении - C++

20.03.2014, 14:02. Просмотров 293. Ответов 6
Метки нет (Все метки)

C++
1
if(x==0)
C++
1
if(x=0)
Вообще,раньше думал,что вторая запись запрещена.Но компилятор разрешил.Каков механизм второй записи?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2014, 14:02     Разница между "==" и "=" в выражении
Посмотрите здесь:

Необработанное исключение в "0x76f015de" в "контрольная 1 задача 2.exe": 0xC0000005: Нарушение прав доступа при чтении "0x334e2c64" - C++
доброго времени суток. Необработанное исключение в "0x76f015de" в "контрольная 1 задача 2.exe": 0xC0000005: Нарушение прав доступа при...

Разница между одинарными ' ' и двойными скобками " " - C++
Доброго времени суток! В чем разница между одинарными ' ' и двойными скобками " "? Например char ch; while(ch != "\n") { ......

На C++ в строке после символа - "+" поставить символ "*" и посчитать сколько "+" - C++
С++ Мы вводим вручную строку , (через cin >> )программа должна после каждого "+" поставить "*" потом посчитать сколько всего было "+"...

Отличие между операторами "." и "->" - C++
Объясните, нигде найти не могу ничего по этому поводу. Просто седня писал код, у меня он не компилился ругаясь на оператор "." долго...

Найти причины возникновения ошибки "Segmentation fault" в шаблонном лямбда-выражении (C++11) - C++
Добрый день. Есть такой код:template<typename ChipSelect, typename T = uint8_t> static T _readByte(uint8_t address) { ...

Что означает "%" в выражении mas[5]=rand()%99 ? - C++
Вот пишешь например mas=rand()%99 что означает % ? И еще srand((unsigned)time(NULL)); эт строка что значит?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,013
20.03.2014, 14:10     Разница между "==" и "=" в выражении #2
Иксу присваивается ноль. Возвращаемое значение - то, что было присвоено.
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,954
Записей в блоге: 27
20.03.2014, 14:11     Разница между "==" и "=" в выражении #3
if(x==0)
Здесть проверка - равен ли х нулю.


if(x=0)
А здесь присвоение х значение ноль. А потом, если не ошибаюсь, идет неявное преобразование в bool. В данном случае х = 0, а ноль - это фолс. То есть условие не будет истинно.
Байт
Эксперт C
15845 / 10172 / 1524
Регистрация: 24.12.2010
Сообщений: 19,184
20.03.2014, 14:20     Разница между "==" и "=" в выражении #4
Цитата Сообщение от Игорюня Посмотреть сообщение
Но компилятор разрешил
Многие компиляторы дают здесь предупреждение. Конструкция вполне законна, хотя чаще всего является ошибкой программиста
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
20.03.2014, 15:59  [ТС]     Разница между "==" и "=" в выражении #5
То есть после присваения выполнится false?

C++
1
2
3
4
if(x=0)
cout<<1<<endl;
else
cout<<0<<endl;
По идее выведет 0.
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,954
Записей в блоге: 27
20.03.2014, 16:31     Разница между "==" и "=" в выражении #6
Наверное мой пост проигнорируется, но да.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2014, 18:36     Разница между "==" и "=" в выражении
Еще ссылки по теме:

Исправить ошибку в строках "case 3:zadacha(Uch,Pr,Ocen);break;" и " return 0;" - C++
#include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; #include&lt;iostream.h&gt; using namespace std; void gen_matr(char...

ткните мордой плз на описание конструкций типа defect?"brak":"goden" - C++
вот пример использования http://codepad.org/VbScnm6F

Дано предложение. Заменить в нем все вхождения буквосочетания "да" на "нет" - C++
Дано предложение. Заменить в нем все вхождения буквосочетания да на нет.

Превратить заданную пользователем дату в формате "дд.мм.гг" в формат "месяц дд. год" - C++
Помогите пожалуйста написать программу на рядки. Условие Превратить заданную пользователем дату в формате &quot;дд.мм.гг&quot; в формат &quot;месяц...


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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17547 / 5785 / 370
Регистрация: 30.03.2009
Сообщений: 15,934
Записей в блоге: 26
20.03.2014, 18:36     Разница между "==" и "=" в выражении #7
Непонятный оператор из книги K&R

Семантика оператора "if (x=0)" более правильно выражается конструкцией "if ((x=0) != 0)". Т.е. записать в x значение 0, прочитать x, сравнить с нулём
Yandex
Объявления
20.03.2014, 18:36     Разница между "==" и "=" в выражении
Ответ Создать тему
Опции темы

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