int a, b;
b = (a=3, a+3); // теперь b равно 6 ...
Чудной C++ |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Чудной C++ |
Игорь |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 56 Пол: Мужской Репутация: 2 |
Почему такой код компилируется, это ж не Python всё-таки? Или я туплю?
|
IUnknown |
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: 627 |
Метод доказательства "от противного" знаешь? Так вот, поставим вопрос по-другому: почему такой код не должен компилироваться? В языке есть операция "запятая", результатом которой является результат последнего операнда. Что там в последнем операнде делается? В первом a присвоили 3, во втором увеличили его еще на три. Результат = 6, где подвох?
Сообщение отредактировано: IUnknown - |
Игорь |
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 56 Пол: Мужской Репутация: 2 |
Цитата В языке есть операция "запятая", результатом которой является результат последнего операнда. Этого я не знал. Думал до сегодняшнего дня, что запятая она и есть запятая, а не операция какая-то. |
Текстовая версия | 19.04.2024 15:17 |