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) 这个式子了,当然=左边不能出现值,只能出现变量。
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是一个字符串操作函数。
你这条语句中的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是一个字符串操作函数。
你这条语句中的b[j].num是一个字符数组,而数组是不能整体赋值的。
如果你想把a[i].num赋给b[j].num,应该调用strcpy函数:strcpy(b[j].num,a[i].num);然后加入头文件#include
strcpy是一个字符串操作函数。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯