0 votes 0 votes Consider the following C-fragment: #include<stdio.h> int(*foo())[3] { int a[3]={1,2,3}; printf("%d",*a); return &a; } int main() { int (*p)[3]; p==foo(); printf("%d",*(*p+2)); return 0; } $A)13$ $B)10$ $C)31$ $D)Compilation$ $error$ Programming in C programming-in-c output + – Lakshman Bhaiya asked Oct 25, 2018 • edited Nov 11, 2018 by Lakshman Bhaiya Lakshman Bhaiya 1.6k views answer comment Share Follow See all 11 Comments See all 11 11 Comments reply Show 8 previous comments Shaik Masthan commented Nov 18, 2018 reply Follow Share p is a pointer to array ===> first de-reference lead to 1-D array, again de-referencing lead to element of the Array. 0 votes 0 votes Gurdeep Saini commented Nov 18, 2018 reply Follow Share ....... 0 votes 0 votes Shaik Masthan commented Nov 18, 2018 reply Follow Share it is not like p = arr, it is like p=&arr even though you write 100 in the value of p, but there is a difference between them, it may helpful https://gateoverflow.in/254355/test-series-question 1 votes 1 votes Please log in or register to add a comment.