Perché l'output in questo esempio è ?Array Java - Perché l'output '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] ]);
}
ho pensato che sarebbe stato . cioè, l'espressione viene valutata come:
a[(a=b)[3]]
a[b[3]] //because a is now pointing to b
a[0]
Non dovrebbe un [0] essere perché un sta indicando b?
Grazie in anticipo.
Man, C ha questo molto più semplice con quella cosa "comportamento indefinito"! – Kos
+1 per strani apprendimenti! –
Questi sono il tipo di domande che alcuni test Java o gli intervistatori vorrebbero chiedere, anche se nessuno che sia sano mai scriverebbe un codice del genere. – GreenieMeanie