Language Fundamentals - Programming

Q1:

What will be the output of the program?
public class CommandArgsThree 
{
    public static void main(String [] args) 
    {
        String [][] argCopy = new String[2][2];
        int x;
        argCopy[0] = args;
        x = argCopy[0].length;
        for (int y = 0; y < x; y++) 
        {
            System.out.print(' ' + argCopy[0][y]);
        }
    }
}
and the command-line invocation is > java CommandArgsThree 1 2 3

A 0 0

B 1 2

C 0 0 0

D 1 2 3

ANS:A - 0 0

In argCopy[0] = args;, the reference variable argCopy[0], which was referring to an array with two elements, is reassigned to an array (args) with three elements.