为什么这是无效的C代码?

时间:2018-07-11 10:24:26

标签: c lvalue pre-increment

如果x类型为int,据我了解,++x是左值,所以

++x = 5;

有效。但是编译器不喜欢它。

  

需要左值作为赋值的左操作数

这是怎么回事? ++x不是左值吗?

1 个答案:

答案 0 :(得分:3)

++ x模糊地转换为x = x + 1。 它不能用作左值(在C中),因此您不能为其分配任何值。