C语言 left operand must be l-vause 是什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/19 02:18:41
C语言里的left operand must be l-vause这是怎样一种错误?

left operand -- 左边的操作数
l-vause -- 左值(变量)。

常出现在赋值语句,例如 '=' : left operand must be l-value
赋值号 左边的操作数 必需是 l-vause

例如:
sin(a) = a; // sin(a) 不是 l-vause
3 = a; // 常量 3 不是 l-vause
b(i) = a; // b(i) 不是 l-vause, b[i] 是 l-vause,括号打错引起的错误

意思是说等号左边必须是左值。
左值是可以向其赋值的变量,即可以出现在等号左边的变量。
比如说一个普通的变量是左值,一个只读的变量不是值。
左值一定是值,但值不一定是左值。