Find out the correct statement for the following program.
#include "stdio.h" typedef int (*funPtr)( int );
int inc( int a)
{ printf ( "Inside inc() %d\n" ,a);
return (a+1);
} int main()
{ funPtr incPtr1 = NULL, incPtr2 = NULL;
incPtr1 = &inc; /* (1) */
incPtr2 = inc; /* (2) */
(*incPtr1)(5); /* (3) */
incPtr2(5); /* (4)*/
return 0;
} |
(A) Line with comment (1) will give compile error.
(B) Line with comment (2) will give compile error.
(C) Lines with (1) & (3) will give compile error.
(D) Lines with (2) & (4) will give compile error.
(E) No compile error and program will run without any issue.
Answer: (E)
Explanation: While assigning any function to function pointer, & is optional. Same way, while calling a function via function pointer, * is optional.
Quiz of this Question