a=a+7为什么不是合法的c语言语法表达式

Python013

a=a+7为什么不是合法的c语言语法表达式,第1张

a++是一个表达式,且并不是变量。 a++仅存在一个临时空间用于保存表达式的运算结果,该临时空间并不能被修改,故其不能作为赋值类型运算符的左值。如(a+b)=c是不合法的表达式,因为(a+b)只有运算结果而不能被赋值,故不能作为赋值符号的左值

a=a+7 是赋值语句。不是表达式。表达式的运算结果应当是1个值,例如 a+7, b+c*k。 12.3%4 --- % 运算,参加运算的两个 数,必须都是整型,它是整除取余数运算。(int)12.3 % 4 便可以了,因为 (int) 强制转换优先,变 12 %4 合法了。 (也有些教材 把 a=a+7 称为 “赋值表达式” ,不知道是什么道理,也许把它理解成 返回 逻辑值 真,例如 if (a=a+7) printf("%d,",a)编译一定通过,条件一定为真,a=a+7 后面无分号 )。