2011-10-16 157 views

回答

3
int i = 7; /* i is 7 */ 
int j = (3 * (i--)) /* means 3 * 7 */ + 2; /* 3 * 7 + 2 = 23 */ 
/* i is now 6, because it was decreased by the postfix -- operator */ 
printf("%d %d", i /* 6 */, j /* 23 */); 
2

i--確實有遞減1 i的(將其設定爲6)的副作用,但表達產生的i先前值。 --i將遞減i併產生新的結果。

1

--綁定到i,而不是3*i。 (因爲3*i不是--要求的左值,所以在任何情況下都不能有(3*i)--。)i--的值是i的原始值,它在遞減之前。用C元運算符的

相關問題