Skip to content
Related Articles

Related Articles

C | Arrays | Question 2
  • Difficulty Level : Easy
  • Last Updated : 11 Jan, 2013

Predict the output of below program:




#include <stdio.h>
  
int main()
{
    int arr[5];
    // Assume base address of arr is 2000 and size of integer is 32 bit
    printf("%u %u", arr + 1, &arr + 1);
  
    return 0;

(A) 2004 2020
(B) 2004 2004
(C) 2004 Garbage value
(D) The program fails to compile because Address-of operator cannot be used with array name


Answer: (A)

Explanation: Name of array in C gives the address(except in sizeof operator) of the first element. Adding 1 to this address gives the address plus the sizeof type the array has. Applying the Address-of operator before the array name gives the address of the whole array. Adding 1 to this address gives the address plus the sizeof whole array.

Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.
My Personal Notes arrow_drop_up
Recommended Articles
Page :