Временно недоступен
 Аватар для #pragma
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926

Тернарный оператор: Почему выводит ошибку lvalue required?

23.11.2012, 03:19. Показов 2033. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Данный код не компилируется в c99 :
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* -------------------------------------------------------------------------- */
#include <stdio.h>
/* -------------------------------------------------------------------------- */
#define ASCII_SWITCH_SIGN     '5'
#define STATE_CHANGING_LETTERS 0
#define STATE_PRINTING         1
/* -------------------------------------------------------------------------- */
int main()
{
   int letter1 = getchar();
 
   if (letter1 == EOF) return 0;
 
   int state_flag;
 
   letter1 == ASCII_SWITCH_SIGN ? state_flag = STATE_PRINTING:
                                  state_flag = STATE_CHANGING_LETTERS;
 
   return 0;
}
/* -------------------------------------------------------------------------- */
Code
1
/hw1q2.c|17|error: lvalue required as left operand of assignment|
почему флаг тут не считается lvalue?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.11.2012, 03:19
Ответы с готовыми решениями:

Lvalue required почему высвечивается такая ошибка?
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream.h&gt; void CutLeft(int x_min,int y_min,int x_max,int y_max, const int...

Тернарный оператор - найти ошибку в коде
Не пойму почему выдает ошибку, вроде программы самые простые и ошибиться то негде: #include&lt;iostream&gt; using namespace std; int...

Почему так работает тернарный оператор?
Всем ку! $result = true ? 0 : false ? 100 : 200; var_dump($result); Почему выводит 200, а не 0? $result = true ? 1 :...

3
 Аватар для zvoronz
273 / 241 / 56
Регистрация: 29.05.2012
Сообщений: 889
23.11.2012, 03:28
C
1
2
   letter1 == ASCII_SWITCH_SIGN ? state_flag = STATE_PRINTING:
                                  state_flag = STATE_CHANGING_LETTERS;
Здесь наверное присваивание, а не сравнение должно быть.
0
 Аватар для СашаН
349 / 299 / 166
Регистрация: 15.03.2012
Сообщений: 653
Записей в блоге: 1
23.11.2012, 03:36
Так компилируется.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* -------------------------------------------------------------------------- */
#include <stdio.h>
/* -------------------------------------------------------------------------- */
#define ASCII_SWITCH_SIGN     '5'
#define STATE_CHANGING_LETTERS 0
#define STATE_PRINTING         1
/* -------------------------------------------------------------------------- */
int main()
{
   int letter1 = getchar();
 
   if (letter1 == EOF) return 0;
 
   int state_flag;
 
   letter1 == ASCII_SWITCH_SIGN?
        (state_flag = STATE_PRINTING):
        (state_flag = STATE_CHANGING_LETTERS);
 
   return 0;
}
/* -------------------------------------------------------------------------- */
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
23.11.2012, 09:52
Лучший ответ Сообщение было отмечено как решение

Решение

C
1
state_flag = ( letter1 == ASCII_SWITCH_SIGN ) ? STATE_PRINTING : STATE_CHANGING_LETTERS;
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.11.2012, 09:52
Помогаю со студенческими работами здесь

Как обойти ошибку "lvalue required as increment operand" в большом старом коде
Мои познания в С неглубоки, и нужна консультация более опытного профи. Ошибка появилась при попытке скомпилировать современным gcc...

Написать программу, которая вычисляет и выводит наименьшее из трех введенных чисел.Тернарный оператор
Написать программу, которая вычисляет и выводит наименьшее из трех введенных пользователем чисел (с использованием тернарного оператора).

Почему оператор сложения двух временных объектов возвращает lvalue ссылку?
Допустим есть класс: class A { public: A() {} A(const A&amp;) { cout &lt;&lt; &quot;A(const A&amp;)\n&quot;; } A(A&amp;&amp;) { cout &lt;&lt;...

можете объяснить почему у мне компилятор выводит ошибку (C2679 бинарный "<<": не найден оператор, принимающий прав)
#include &lt;string&gt; #include &quot;pch.h&quot; #include &lt;iostream&gt; using namespace std; string bilet(int mas , int h) { string verdict;...

Lvalue required
char Info ; if ((! DdeClientConv1-&gt;SetLink(ComboBox1-&gt;Text, ComboBox2-&gt;Text)) || ! DdeClientConv1-&gt;OpenLink()) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru