компиляция — Geany c ++, ошибка «lvalue требуется как левый операнд присваивания»

Я пытаюсь определить математические операции в geany, но он не может их скомпилировать. Например, a + b = c не может быть скомпилировано, но, с другой стороны, a + b == c скомпилировано, но результат, скажем, 2 + 4 равен 0, так что это неверно. То же самое касается a-b = d и других основных операций. Когда я попытался скомпилировать это в терминале, там была та же ошибка, говорящая «lvalue требуется как левый операнд присваивания»
Я использую Linux, openSUSE, чтобы быть более точным.

-2

Решение

Поскольку вы хотите назначить, вам нужно сделать это следующим образом:

c = a + b;

== является оператором сравнения. Это сравнивает a+b с c,

Например:

int a = 5;
int b = 5;
int c = 10;

if (a+b == c)   <---true because 10 = 10
{
//some code
}

Вот хороший источник, чтобы понять о lvalue и rvalue:

http://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-c-and-c

0

Другие решения

В простом описании … LValue — это переменная, которой вы можете присвоить значение. Итак, в вашем случае вы хотите присвоить значение сложения a + b переменной c:

c = a + b;

С этим оператором == () вы сравниваете 2 значения друг с другом. Вернуться к вашему делу
Вы сравниваете сложение a + b со значением c. И если «a + b» не равно «c», это сравнение возвращает «false». «false», приведенное к числовому типу данных, как int, будет иметь значение 0.

0

По вопросам рекламы [email protected]