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

如题所述

a++是一个表达式,且并不是变量。

a++仅存在一个临时空间用于保存表达式的运算结果,该临时空间并不能被修改,故其不能作为赋值类型运算符的左值。如(a+b)=c是不合法的表达式,因为(a+b)只有运算结果而不能被赋值,故不能作为赋值符号的左值
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-08
a++是一个表达式,仅仅保留表达式结果,不能通过赋值来修改,并且a++不是变量。
要注意区分a+=5;a++=5;
第2个回答  2015-07-17
C语言中自增表达式(不论是前缀还是后缀)都是右值性的,不可作为赋值运算符的左操作数本回答被网友采纳
第3个回答  2015-07-17
a未负值也没给地址,无法进行++运算,也就无法付给a++值喽