![]() |
|
Модераторы: bsa |
![]()
|
|
| maxfol |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 22.2.2009 Репутация: нет Всего: нет |
ругается при компиляции : invalid lvalue in assignment. обьясните почему (C начал учить только сегодня, так что сильно не пинайте )). |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
это ты из какого ЯП идею подхватил? напоминает ФП языки. что за условие вообще? |
|||
|
||||
| Estranged |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 30.8.2010 Репутация: нет Всего: 3 |
Потому что у операторов С++ есть приоритет. Вы думаете, что y = 0 выполнится раньше, но не угадали. Отчего ноль вы пытаетесь присвоить результату логического ИЛИ (||), что недопустимо, т.к. оператор = требует т.н. l-value, т.е. переменную, куда этот 0 можно записать, память, куда можно записать 0. В итоге: x = ((--c) || y) = 0; 1. с = с - 1 2. c ИЛИ y 3. куда ноль записать? Надо задать правильный порядок выполнения операторов с помошью оператора скобки:
В итоге будет вычислено логическое выражение, результат (истина, ложь) будет в x. Еще скажу по секрету, что в y не будет записан 0. |
||||
|
|||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
Так писать "нельзя". Если так уж нравится всё в одну строчку писать, то используйте либо запятую, либо точку с запятой (предпочтительнее)
Это сообщение отредактировал(а) Леопольд - 19.11.2011, 13:59 -------------------- вопросов больше чем ответов |
|||
|
||||
| maxfol |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 22.2.2009 Репутация: нет Всего: нет |
Всем спасибо за ответы, это было из упражнения, выходит что ошибка.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |