abxs300 发表于 2019-5-12 23:11:55

求助,c语言报错


报错信息为lvalue required as increment operand
求解释!



jackz007 发表于 2019-5-12 23:34:08

本帖最后由 jackz007 于 2019-5-12 23:43 编辑

      如果是内存拷贝,难道用现成的系统函数 memcpy() 不能满足需要吗?

Croper 发表于 2019-5-12 23:45:43

本帖最后由 Croper 于 2019-5-12 23:46 编辑

不知道楼主明不明白左值和右值,
简单来说,左值就是能进行赋值的值,而右值是不能进行赋值的。(这不是定义,要确切的定义自己上网搜一搜)

举个例子
int b=a+3;
这里表达式中的b就是左值,能够进行赋值。而(a+3)虽然在内存中也会出现,但是你对其进行赋值时变回报错
int (a+3)=5; //错误的赋值语句,需要左值

而这里,你的(s+m)就是一个右值,而你又想对这个右值进行++运算,结果当然是会报错的

ba21 发表于 2019-5-12 23:49:45

*(s+m)++ c从来就没有这种写法,你想多了。老老实实按语法来写。

abxs300 发表于 2019-5-13 07:56:08

Croper 发表于 2019-5-12 23:45
不知道楼主明不明白左值和右值,
简单来说,左值就是能进行赋值的值,而右值是不能进行赋值的。(这不是定 ...

结合小甲鱼的左值和右值的贴子,懂了,多谢
页: [1]
查看完整版本: 求助,c语言报错