以下是c。
中的代码行 i++=i++;
输出:需要错误左值。
那么这个错误表明了什么?
答案 0 :(得分:1)
i++
的结果不是左值,标准要求赋值运算符的左操作数为左值。
即使允许你的程序调用未定义的行为,因为你试图在两个序列点之间修改同一个对象两次。
答案 1 :(得分:0)
表示i++
不可分配。这就像尝试分配给1
(当i++
存储值i
时1
会产生的{{1}}。
当然这毫无意义。您可以将其与尝试更改颜色“红色”进行比较,当您实际上想要先将纸张涂成红色然后再涂成蓝色时。
答案 2 :(得分:0)
这是说需要左值。你正在做一项左派=右派。 i ++不能是左派,因为它是正确的。 删除简洁性,你的代码行变为
i + 1 = i + 1,这是一个不是赋值的等式。
除此之外你还想做什么?