为什么在这个例子中的输出是?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