我尝试在geany中定义数学运算但是无法编译它们。例如,a + b = c无法编译,但另一方面a + b == c被编译但是2 + 4的结果是0,所以它不对。同样适用于a-b = d和其他基本操作。当我试图在终端中编译它时,同样的错误就是说"左值作为赋值的左操作数"。 我使用linux,openSUSE更精确。
答案 0 :(得分:0)
由于你想分配,你需要这样做:
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
}
这是了解左旋和右值的好资料来源:
http://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-c-and-c
答案 1 :(得分:0)
在一个简单的描述中...... LValue是一个可以为其赋值的变量。因此,在您的情况下,您希望将a + b的加法值赋给变量c:
c = a + b;
使用此运算符==()可以将2个值相互比较。回到你的情况 你将a + b的加法与c的值进行比较。如果“a + b”不等于“c”,则该比较返回“假”。 “false”转换为像int这样的数值数据类型,其值为0。