Skip to content
Related Articles

Related Articles

Improve Article

C | Advanced Pointer | Question 10

  • Difficulty Level : Medium
  • Last Updated : 28 Jun, 2021
Geek Week

Output of following program




#include <stdio.h>
int fun(int arr[]) {
   arr = arr+1;    
   printf("%d ", arr[0]);
}
int main(void) {
   int arr[2] = {10, 20};
   fun(arr);
   printf("%d", arr[0]);
   return 0;
}

(A) Compiler Error
(B) 20 10
(C) 20 20
(D) 10 10


Answer: (B)

Explanation: In C, array parameters are treated as pointers (See https://www.geeksforgeeks.org/why-c-treats-array-parameters-as-pointers/ for details).

So the variable arr represents an array in main(), but a pointer in fun().

Quiz of this Question

Take a step-up from those “Hello World” programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.
My Personal Notes arrow_drop_up
Recommended Articles
Page :