C语言中自增与自减运算符只能作用于变量,为什么(i+j)++是违法的?

2025-01-05 10:45:57
推荐回答(2个)
回答(1):

i+j只是一个临时变量没有内存地址,而i++相当与i += 1,而(i+j)++则相当于(i+j) = (i+j) + 1显然是说不通的。

回答(2):

i++ 等同于 i = i + 1;
那(i+j) ++ 等同于 i + j = i + j + 1;么 i+j是一个表达式,不是一个变量。