C语言语句a=a++=5为什么不合法?

如题所述

a++是一个表达式,且并不是变量。
a++仅存在一个临时空间用于保存表达式的运算结果,该临时空间并不能被修改,故其不能作为赋值类型运算符的左值。如(a+b)=c是不合法的表达式,因为(a+b)只有运算结果而不能被赋值,故不能作为赋值符号的左值
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-10
赋值语句必须有如下的格式
<变量>
=
<表达式>
a=i++;这是可以的。
i++
=
a;这就不行了。
上例a++=5就不行了
永远记住,左边就一个。