IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

 
 Ответить  Открыть новую тему 
> Чудной C++
Игорь
сообщение 18.06.2012 16:59
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 56
Пол: Мужской

Репутация: -  2  +


Почему такой код компилируется, это ж не Python всё-таки? Или я туплю?


int a, b;

b = (a=3, a+3); // теперь b равно 6 ...

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
IUnknown
сообщение 18.06.2012 17:10
Сообщение #2


a.k.a. volvo877
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской

Репутация: -  627  +


Метод доказательства "от противного" знаешь? Так вот, поставим вопрос по-другому: почему такой код не должен компилироваться? В языке есть операция "запятая", результатом которой является результат последнего операнда. Что там в последнем операнде делается? В первом a присвоили 3, во втором увеличили его еще на три. Результат = 6, где подвох? smile.gif

Сообщение отредактировано: IUnknown - 18.06.2012 17:11
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Игорь
сообщение 18.06.2012 18:09
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 56
Пол: Мужской

Репутация: -  2  +


Цитата
В языке есть операция "запятая", результатом которой является результат последнего операнда.


Этого я не знал. Думал до сегодняшнего дня, что запятая она и есть запятая, а не операция какая-то.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 29.04.2024 4:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"