爲什麼在這個例子中的輸出是?Java數組 - 爲什麼輸出爲'1'?
public static void main(String[] args){
int[] a = { 1, 2, 3, 4 };
int[] b = { 2, 3, 1, 0 };
System.out.println(a [ (a = b)[3] ]);
}
我認爲這將是。即,表達被評價爲:
a[(a=b)[3]]
a[b[3]] //because a is now pointing to b
a[0]
如果不是[0]是因爲一個指向b?
在此先感謝。
男人,C有這非常簡單的「未定義的行爲」的事情! – Kos
奇怪的學習+1! –
這些是一些Java測試或面試者想要問的問題,即使沒有人理智也會寫這樣的代碼。 – GreenieMeanie