为什么判断两个数是否相等表达式必须是可修改的左值

img


但是下面这种情况也是判断两个数是否相等却没有出现这个报错,有没有人可以解答一下

img

因为第一个if还是 H=='U'
第二个和后面的就成了 H = 'D'了
应该是H == 'D'啊
由于赋值操作符优先级低
所以执行 n>2 && H 先,这是个逻辑表达式,它不能作为赋值操作的左值,因此报错了

你这代码错误一大堆呀
1.判断是==,你全写成了=
2.H是个char,你不要去跟字符串比较,应该跟字符比较,把双引号全部改为单引号