++5不是c表达式。
m+5结果是个值,++x操作,x必须是个变量因为变量指向的内存空间是可读写的,而m+5这是个常量,放到的内存空间中是不可以写入的,要从内存空间去考虑问题。如(a+b)=c是不合法的表达式,因为(a+b)只有运算结果而不能被赋值,故不能作为赋值符号的左值。
一个表达式的赋值
和算符的定义以及数值的定义域是有关联的。两个表达式若被说是等值的,表示对于自由变量任意的定值,两个表达式都会有相同的输出,即它们代表同一个函数。一个表达式必须是合式的。亦即,其每个算符都必须有正确的输入数量,在正确的地方。如表达式2+3便是合式的;而表达式*2+则不是合式的,至少不是算术的一般标记方式。