C | Functions | Question 5

Output?

#include <stdio.h>

int main()
{
    int (*ptr)(int ) = fun;
    (*ptr)(3);
    return 0;
}

int fun(int n)
{
  for(;n > 0; n--)
    printf("GeeksQuiz ");
  return 0;
}

(A) GeeksQuiz GeeksQuiz GeeksQuiz
(B) GeeksQuiz GeeksQuiz
(C) Compiler Error
(D) Runtime Error


Answer: (C)

Explanation: The only problem with program is fun is not declared/defined before it is assigned to ptr. The following program works fine and prints “GeeksQuiz GeeksQuiz GeeksQuiz ”

int fun(int n);

int main()
{
    // ptr is a pointer to function fun()
    int (*ptr)(int ) = fun;

    // fun() called using pointer 
    (*ptr)(3);
    return 0;
}

int fun(int n)
{
  for(;n > 0; n--)
    printf("GeeksQuiz ");
}


Quiz of this Question



My Personal Notes arrow_drop_up



Practice Tags :
Article Tags :
Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.

Recommended Posts:



0 Average Difficulty : 0/5.0
No votes yet.






User Actions