Computer Science Engineering (CSE) Exam  >  Computer Science Engineering (CSE) Questions  >  What is the output ?#include <stdio.h>i... Start Learning for Free
What is the output ?
#include <stdio.h>
int main()
{
    int (*ptr)(int ) = fun;
    (*ptr)(3);
    return 0;
}
int fun(int n)
{
  for(;n > 0; n--)
    printf("EduRevQuiz ");
  return 0;
}
  • a)
    EduRevQuiz EduRevQuiz EduRevQuiz
  • b)
    EduRevQuiz EduRevQuiz
  • c)
    Compiler Error
  • d)
    Runtime Error
Correct answer is option 'C'. Can you explain this answer?
Most Upvoted Answer
What is the output ?#include <stdio.h>int main(){ int (*ptr)(in...
Understanding the Code
The provided C code snippet attempts to define a function pointer and invoke a function using that pointer. However, there are several issues that lead to a compilation error.
Code Overview
1. Function Definition:
- The function `fun` is defined after the `main` function. In C, functions must be declared or defined before they are used.
2. Function Pointer Declaration:
- The line `int (*ptr)(int ) = fun;` tries to assign the function pointer `ptr` to the function `fun`. Since `fun` is not declared before its usage within `main`, the compiler does not recognize it at that point.
Reasons for Compiler Error
- Function Declaration Missing:
- The compiler requires a declaration of `fun` before it can be referenced in `main`. This is because the C language needs to know the signature of the function being pointed to.
- Incorrect Order of Definitions:
- The function `fun` should either be defined before `main` or should have a forward declaration, like `int fun(int n);`, placed before `main`.
Summary of Output
Due to the missing declaration or incorrect order of function definition, the compiler will throw an error when it reaches the line that tries to call `fun` via the pointer. Therefore, the correct answer to the question is option 'C': Compiler Error.
This highlights the importance of proper function declarations and definitions in C programming.
Free Test
Community Answer
What is the output ?#include <stdio.h>int main(){ int (*ptr)(in...
The only problem with program is fun is not declared/defined before it is assigned to ptr. The following program works fine and prints "EduRevQuiz EduRevQuiz EduRevQuiz "
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("EduRevQuiz ");
}
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

What is the output ?#include <stdio.h>int main(){ int (*ptr)(int ) = fun; (*ptr)(3); return 0;}int fun(int n){ for(;n > 0; n--) printf("EduRevQuiz "); return 0;}a)EduRevQuizEduRevQuizEduRevQuizb)EduRevQuizEduRevQuizc)Compiler Errord)Runtime ErrorCorrect answer is option 'C'. Can you explain this answer?
Question Description
What is the output ?#include <stdio.h>int main(){ int (*ptr)(int ) = fun; (*ptr)(3); return 0;}int fun(int n){ for(;n > 0; n--) printf("EduRevQuiz "); return 0;}a)EduRevQuizEduRevQuizEduRevQuizb)EduRevQuizEduRevQuizc)Compiler Errord)Runtime ErrorCorrect answer is option 'C'. Can you explain this answer? for Computer Science Engineering (CSE) 2024 is part of Computer Science Engineering (CSE) preparation. The Question and answers have been prepared according to the Computer Science Engineering (CSE) exam syllabus. Information about What is the output ?#include <stdio.h>int main(){ int (*ptr)(int ) = fun; (*ptr)(3); return 0;}int fun(int n){ for(;n > 0; n--) printf("EduRevQuiz "); return 0;}a)EduRevQuizEduRevQuizEduRevQuizb)EduRevQuizEduRevQuizc)Compiler Errord)Runtime ErrorCorrect answer is option 'C'. Can you explain this answer? covers all topics & solutions for Computer Science Engineering (CSE) 2024 Exam. Find important definitions, questions, meanings, examples, exercises and tests below for What is the output ?#include <stdio.h>int main(){ int (*ptr)(int ) = fun; (*ptr)(3); return 0;}int fun(int n){ for(;n > 0; n--) printf("EduRevQuiz "); return 0;}a)EduRevQuizEduRevQuizEduRevQuizb)EduRevQuizEduRevQuizc)Compiler Errord)Runtime ErrorCorrect answer is option 'C'. Can you explain this answer?.
Solutions for What is the output ?#include <stdio.h>int main(){ int (*ptr)(int ) = fun; (*ptr)(3); return 0;}int fun(int n){ for(;n > 0; n--) printf("EduRevQuiz "); return 0;}a)EduRevQuizEduRevQuizEduRevQuizb)EduRevQuizEduRevQuizc)Compiler Errord)Runtime ErrorCorrect answer is option 'C'. Can you explain this answer? in English & in Hindi are available as part of our courses for Computer Science Engineering (CSE). Download more important topics, notes, lectures and mock test series for Computer Science Engineering (CSE) Exam by signing up for free.
Here you can find the meaning of What is the output ?#include <stdio.h>int main(){ int (*ptr)(int ) = fun; (*ptr)(3); return 0;}int fun(int n){ for(;n > 0; n--) printf("EduRevQuiz "); return 0;}a)EduRevQuizEduRevQuizEduRevQuizb)EduRevQuizEduRevQuizc)Compiler Errord)Runtime ErrorCorrect answer is option 'C'. Can you explain this answer? defined & explained in the simplest way possible. Besides giving the explanation of What is the output ?#include <stdio.h>int main(){ int (*ptr)(int ) = fun; (*ptr)(3); return 0;}int fun(int n){ for(;n > 0; n--) printf("EduRevQuiz "); return 0;}a)EduRevQuizEduRevQuizEduRevQuizb)EduRevQuizEduRevQuizc)Compiler Errord)Runtime ErrorCorrect answer is option 'C'. Can you explain this answer?, a detailed solution for What is the output ?#include <stdio.h>int main(){ int (*ptr)(int ) = fun; (*ptr)(3); return 0;}int fun(int n){ for(;n > 0; n--) printf("EduRevQuiz "); return 0;}a)EduRevQuizEduRevQuizEduRevQuizb)EduRevQuizEduRevQuizc)Compiler Errord)Runtime ErrorCorrect answer is option 'C'. Can you explain this answer? has been provided alongside types of What is the output ?#include <stdio.h>int main(){ int (*ptr)(int ) = fun; (*ptr)(3); return 0;}int fun(int n){ for(;n > 0; n--) printf("EduRevQuiz "); return 0;}a)EduRevQuizEduRevQuizEduRevQuizb)EduRevQuizEduRevQuizc)Compiler Errord)Runtime ErrorCorrect answer is option 'C'. Can you explain this answer? theory, EduRev gives you an ample number of questions to practice What is the output ?#include <stdio.h>int main(){ int (*ptr)(int ) = fun; (*ptr)(3); return 0;}int fun(int n){ for(;n > 0; n--) printf("EduRevQuiz "); return 0;}a)EduRevQuizEduRevQuizEduRevQuizb)EduRevQuizEduRevQuizc)Compiler Errord)Runtime ErrorCorrect answer is option 'C'. Can you explain this answer? tests, examples and also practice Computer Science Engineering (CSE) tests.
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Explore Courses
Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev