Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2013, 03:17   #1
koderman
Пользователь
 
Регистрация: 07.01.2013
Сообщений: 10
По умолчанию Вопрос по C++

Вопрос по C++
koderman вне форума Ответить с цитированием
Старый 18.01.2013, 03:17   #2
koderman
Пользователь
 
Регистрация: 07.01.2013
Сообщений: 10
По умолчанию

Не понимаю какие действия происходят в следующем выражении.

Код:
int x= 5, y=10;


temp=x;
x=y;
y=temp;
В результате x=10, y=5. То есть поменялись местами.
Разве после этого действия x=y; не должны х и y быть равны? Тоесть x=10, y=10. Или тут существует какоето правило типа или левое присваивается правому от знака равенства или правое от знака равенства присваивается левому??

Последний раз редактировалось koderman; 18.01.2013 в 03:22.
koderman вне форума Ответить с цитированием
Старый 18.01.2013, 07:52   #3
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Цитата:
Разве после этого действия x=y; не должны х и y быть равны? Тоесть x=10, y=10.
Они и равны.

Цитата:
Или тут существует какоето правило типа или левое присваивается правому от знака равенства или правое от знака равенства присваивается левому??
Ну, теоретически, можно как-то так извернутся, но обычно нет.

Вы прикидываетесь или реально не видите еще 2 строк?
Код:
temp=x;
...
y=temp;
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 18.01.2013, 08:25   #4
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Цитата:
Вы прикидываетесь или реально не видите еще 2 строк?
Я тоже сначала подумал, что ТС просто стебется.
Но если взглянуть не предвзято, и забыть, что это программа и воспринимать запись просто как математическое уравнение, то можно сделать вывод, что 5 равно 10.
koderman, в отличие от математики знак = (равно) это оператор. Он выполняет присвоение значения правой части в левую.
EUGY вне форума Ответить с цитированием
Старый 18.01.2013, 16:59   #5
koderman
Пользователь
 
Регистрация: 07.01.2013
Сообщений: 10
По умолчанию

Цитата:
Сообщение от EUGY Посмотреть сообщение
Он выполняет присвоение значения правой части в левую.
Спасибо.
.
koderman вне форума Ответить с цитированием
Старый 18.01.2013, 21:54   #6
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Цитата:
в отличие от математики знак = (равно) это оператор. Он выполняет присвоение значения правой части в левую.
Я надеялся, что раз ТС добрался до функций, то алфавит языка он хотя бы прочитал...
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 18.01.2013, 22:49   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от EUGY Посмотреть сообщение
Я тоже сначала подумал, что ТС просто стебется.
Но если взглянуть не предвзято, и забыть, что это программа и воспринимать запись просто как математическое уравнение, то можно сделать вывод, что 5 равно 10.
EUGY, не выделывайся . Прога правильная. Просто производится перестановка, это-же очевидно.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 19.01.2013, 05:38   #8
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Понял, так и запишем: Просто производится перестановка. )
EUGY вне форума Ответить с цитированием
Старый 21.01.2013, 16:25   #9
RussDragon
Форумчанин
 
Аватар для RussDragon
 
Регистрация: 07.04.2012
Сообщений: 216
По умолчанию

То есть это был не стеб?
RussDragon вне форума Ответить с цитированием
Старый 21.01.2013, 22:02   #10
dimanduc1
Новичок
Джуниор
 
Регистрация: 21.01.2013
Сообщений: 3
По умолчанию

Нет, все верно:

int x= 5, y=10;
объявление и инициализация x и y

temp=x;
temp = 5

x=y;
x = 10

y=temp;
y = 5

переменные меняются значениями=)
dimanduc1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по с++ Artiomtb Помощь студентам 0 17.11.2011 19:10
Вопрос по С++ Fantazerishka Помощь студентам 3 15.05.2010 13:18
Вопрос по mySQL + Вопрос по RichEdit HTL Общие вопросы Delphi 4 01.01.2010 20:22
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10