I i++意思

在C語言中,i i++這樣的表達式是非法的,因為++運算符要求有一個左值(lvalue),而i只是一個變數名,它不是一個左值。如果你想要對變數i進行自增操作,你應該使用i++或者++i

i++++i的區別在於它們的副作用發生的時間不同:

例如:

int i = 1;

// 使用i++
printf("i++: i = %d, i++ = %d\n", i, i++); // 輸出:i++: i = 1, i++ = 1
printf("i++: i = %d\n", i); // 輸出:i++: i = 2

// 使用++i
printf("++i: i = %d, ++i = %d\n", i, ++i); // 輸出:++i: i = 2, ++i = 3
printf("++i: i = %d\n", i); // 輸出:++i: i = 3

在這個例子中,i++首先列印i的值(1),然後i自增,所以i++的值仍然是1。接著列印i的值,這時i已經自增,所以列印結果是2。

對於++i,首先i自增,然後列印i的值(2),所以++i的值是3。接著列印i的值,這時i已經自增,所以列印結果是3。