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

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

Войти
Регистрация
Восстановить пароль
 
Fantasmaforia
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 48
#1

операция присваивания - C++

22.01.2014, 14:47. Просмотров 279. Ответов 4
Метки нет (Все метки)

Столкнулся с глупой проблемой, может кто объяснить, как в таком случае делается присваивание и в чем у меня ошибка?
C++
1
2
int a=1, b=2, c=3, d=4, e=5;
(a=(b=c=d)=e)=b+a
найти значения a, b, c, d, e
я делал так:
Код
c=d=>c=4
b=c=>b=4
(b=c=d)=e=>(b=c=d)=5
a=(b=c=d)=>a=5
e=5
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 14:47     операция присваивания
Посмотрите здесь:

Операция присваивания - C++
Чем отличается операция присваивания "/=" от "=" ?

Операция присваивания (=) - C++
Добрый день, интересует вот что: правильно ли я считаю, что в int x = .0 + 1F + 4L; 1) Сперва все операнды сложения (по правую...

Атомарна ли операция присваивания в однопроцессорной машине? - C++
? :) Добавлено через 1 минуту судя по это - атомарна :) 18: int a = 5; 0117C760 C7 45 E8 05 00 00 00 mov dword...

Правильно сделана перегруженная операция присваивания? - C++
Проверьте, пожалуйста, эту часть. Программа неправильно работает и думаю ошибка в операторе присваивания // узел template<typename...

Конструктор копирования и операция присваивания в классе - C++
Народ, вот есть такие объявления(motto - объект класса StringBad): StringBad ditto(motto); StringBad metoo = motto; StringBad...

Что быстрее, операция присваивания или сравнения? - C++
Всем доброго времени суток, такой вод у меня дурацкий вопрос сидит в голове, "Что быстрее, операция присваивания или сравнения?". Вот...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nullik
43 / 12 / 1
Регистрация: 13.03.2013
Сообщений: 300
Завершенные тесты: 1
22.01.2014, 15:06     операция присваивания #2
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
void main()
{
int a=1, b=2, c=3, d=4, e=5;
(a=(b=c=d)=e)=b+a;
std::cout << a << "qqq" << b << "qqq"  << c << "qqq"  << d << "qqq"  << e << "qqq" ;
std::cin.get();
}
Сначала идут присваивания в скобках, потом у вас ещё есть сумма, собственно, вот такой разброс и вышел. У вас такие же ответы?
Байт
Эксперт C
15833 / 10160 / 1522
Регистрация: 24.12.2010
Сообщений: 19,148
22.01.2014, 15:06     операция присваивания #3
Цитата Сообщение от Fantasmaforia Посмотреть сообщение
(b=c=d)
Это число. И как вы присваиваете нечто числу? Конструкция
C++
1
 5 = 4
совершенно недопустима
Nullik
43 / 12 / 1
Регистрация: 13.03.2013
Сообщений: 300
Завершенные тесты: 1
22.01.2014, 15:07     операция присваивания #4
Байт, запустите код, что я выше написала и посмотрите как вы присваиваете переменной переменную.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2014, 15:33     операция присваивания
Еще ссылки по теме:

Ошибка присваивания - C++
Доброго времени суток. Почему запрещено такое присваивание, компилятор выдает ошибку. VS 2015 vector &lt;string&gt; word; string buffer =...

Оператор присваивания. - C++
Всем привет!В универе щас работаем с классами и перегрузками.В частности перегрузкой оператора присваивания и индексации.И я в упор не...

Оператор присваивания - C++
Почему в этом случае вызывается оператор присваивания Fraction f4; f4 = f1+f2+f3; а в другом не вызывается: ...

Оператор присваивания - C++
Какая разница между оператором &quot;=&quot; и &quot;==&quot; Почему , например , в цикле нужно писать while(count==1) а не ...


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

Или воспользуйтесь поиском по форуму:
Fantasmaforia
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 48
22.01.2014, 15:33  [ТС]     операция присваивания #5
Цитата Сообщение от Байт Посмотреть сообщение
Это число. И как вы присваиваете нечто числу? Конструкция
в смысле нечто? Там везде идет присваивание чисел же

Добавлено через 2 минуты
Цитата Сообщение от Nullik Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
void main()
{
int a=1, b=2, c=3, d=4, e=5;
(a=(b=c=d)=e)=b+a;
std::cout << a << "qqq" << b << "qqq"  << c << "qqq"  << d << "qqq"  << e << "qqq" ;
std::cin.get();
}
Сначала идут присваивания в скобках, потом у вас ещё есть сумма, собственно, вот такой разброс и вышел. У вас такие же ответы?
У меня ваша программа не запустилась даже

Добавлено через 10 минут
у меня получилось 10 5 4 4 5

Добавлено через 1 минуту
Все, разобрался, тему можно закрыть
Yandex
Объявления
22.01.2014, 15:33     операция присваивания
Ответ Создать тему
Опции темы

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