C | Advanced Pointer | Question 10
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
Last Updated :
28 Jun, 2021
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...