int a[]={1, 2, 3, 4, 5};
int b[]={4, 3, 2, 1, 0};
a=b;
System.out.println("a[0] = "+a[0]);
这段文字的意思是:“这里展示了a[0] = 4,因为a被赋值为b的引用。如果按照以下方式进行修改......”
int a[]={1, 2, 3, 4, 5};
int b[]={4, 3, 2, 1, 0};
System.out.println("a[(a=b)[0]] = "+a[(a=b)[0]]); //<-------
然后,它显示
a[(a=b)[0]] = 5
。
为什么这个表达式
a[(a=b)[0]]
不会产生 4
,即数组 b
的第 0 个元素,尽管它看起来与前面的情况相同?