Home / C Programming / Arrays :: Discussion

Discussion :: Arrays

  1. What will be the output of the program if the array begins 1200 in memory?

      #include
     
       int main() 
       {   
           int arr[]={2, 3, 4, 1, 6};      
           printf("%u, %u, %u\n", arr, &arr[0], &arr); 
          return 0; 
       }
    

  2. A.

    1200, 1202, 1204

    B.

    1200, 1200, 1200

    C.

    1200, 1204, 1208

    D.

    1200, 1202, 1200

    View Answer

    Workspace

    Answer : Option B

    Explanation :

    Step 1: int arr[]={2, 3, 4, 1, 6}; The variable arr is declared as an integer array and initialized.

    Step 2: printf("%u, %u, %u\n", arr, &arr[0], &arr); Here,

    The base address of the array is 1200.

    => arr, &arr is pointing to the base address of the array arr.

    => &arr[0] is pointing to the address of the first element array arr. (ie. base address)

    Hence the output of the program is 1200, 1200, 1200


Be The First To Comment