¿Por qué la salida en este ejemplo es ?Arrays de Java: ¿por qué la salida es '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] ]);
}
pensé que sería . es decir, la expresión se evalúa como:
a[(a=b)[3]]
a[b[3]] //because a is now pointing to b
a[0]
No debería a [0] ser porque un está apuntando a b?
Gracias de antemano.
¡Hombre, C tiene esto mucho más simple con ese "comportamiento indefinido"! – Kos
+1 para aprendizajes extraños! –
Este es el tipo de preguntas que a algunos especialistas en pruebas o entrevistas de Java les encantaría hacer, aunque nadie que esté en lo cierto escribiría códigos como ese. – GreenieMeanie