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 "); }