C语言i++的问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 03:46:30
c+=i++
它等价于c=c+(i++) 还是等价于c=(c+i)++

c += exp; 等价于c = c + (exp); 不管exp是怎么样的表达式

c=c+(i++)

(c+i)++这样的写法就是错的

从c结果看两个都对,从i的结果看,应该等价于c=c+(i++) 。

原因在于,第二个运算式先进行()内运算,在进行c+i的和的++运算,此时i值没有加1,而原始式和c=c+(i++)中i都加1了。

等价于c=c+i;i++; 如上所述"按找运算的级别来说是属于同级别的运算符的,i++是先进行运算在加的,所以在运算的时候因该先对i进行取值"但最后i自加 ,并不是(c+i)自加

等价与第二个.因为按找运算的级别来说是属于同级别的运算符的,i++是先进行运算在加的,所以在运算的时候因该先对i进行取值,所以就是c+i然后在对i进行加1.