この例の出力はなぜですか?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] ]);
}
私はそれがだろうと思いました。すなわち、式は以下のように評価される:はBを指しているので
a[(a=b)[3]]
a[b[3]] //because a is now pointing to b
a[0]
[0] すべきではありませんか?
ありがとうございます。
男、Cはその「未定義の動作」もので、そんなに単純にこれを持っています! – Kos
+1奇妙な学習のために! –
これは、Javaテストやインタビュアーが尋ねたいと思うような質問です。正気な人はいません。 – GreenieMeanie