永发信息网

left operand must be l-value什么意思

答案:3  悬赏:20  手机版
解决时间 2021-04-28 22:16
  • 提问者网友:十年饮冰
  • 2021-04-28 17:03
left operand must be l-value什么意思
最佳答案
  • 五星知识达人网友:逐風
  • 2021-04-28 18:09
左操作数必须为l值。
a || b && !c + 2 ? c += a-- : c -= ++b ,根据运算符的优先级加上括号就看清楚了:

((a || (b && ((!c) + 2))) ? (c += (a--)) : c) -= (++b)
最后原因就是一句话,?:的优先级要比 -= 高,所以先算前者,得一值,最后剩下:
值 -= (++b) 这个式子了,当然=左边不能出现值,只能出现变量。


全部回答
  • 1楼网友:底特律间谍
  • 2021-04-28 20:06
eft operand must be l-value是说:运算符的左边应该是一个“左值”。所谓“左值”就是指在程序中占用内存空间、可以被修改的量,比如各种变量。
你这条语句中的b[j].num是一个字符数组,而数组是不能整体赋值的。
如果你想把a[i].num赋给b[j].num,应该调用strcpy函数:strcpy(b[j].num,a[i].num);然后加入头文件#include
strcpy是一个字符串操作函数。
  • 2楼网友:人類模型
  • 2021-04-28 19:05
left operand must be l-value是说:运算符的左边应该是一个“左值”。所谓“左值”就是指在程序中占用内存空间、可以被修改的量,比如各种变量。
你这条语句中的b[j].num是一个字符数组,而数组是不能整体赋值的。
如果你想把a[i].num赋给b[j].num,应该调用strcpy函数:strcpy(b[j].num,a[i].num);然后加入头文件#include
strcpy是一个字符串操作函数。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯