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