Machine-translated by Google. Questions are authored in English.
Top

Discussion

What is the output of this C code?

int main()
{
void foo(), f();
f();
}
void foo()
{
printf("2 ");
}
void f()
{
printf("1 ");
foo();
}

 

  • A.Compile time error as foo is local to main
  • B.1   2
  • C.2   1
  • D.Compile time error due to declaration of functions inside main

Answer: B

Correct answer: 1 2

Declaring void foo(), f(); inside main is legal - it declares them, without defining them, and the declaration is simply local in scope. f() is then called; it prints 1 and calls foo, which prints 2. Output: 1 2.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.