Skip to content
Related Articles

Related Articles

Improve Article

C Quiz – 109 | Question 3

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

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

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 :