R

Rajeev Malhotra • 3.97K Points
Extraordinary

Q. Determine Output

Code:
#define clrscr() 100
void main()
{
      clrscr();
      printf("%d", clrscr());
}
  • (A) 0
  • (B) 1
  • (C) 100
  • (D) Error

Explanation by: Rajeev Malhotra
Preprocessor executes as a seperate pass before the execution of the compiler. So textual replacement of clrscr() to 100 occurs. The input program to compiler looks like this :

void main()
{
      100;
      printf("%d", 100);
}

Note: 100; is an executable statement but with no action. So it doesn't give any problem.

You must be Logged in to update hint/solution

Discusssion

Login to discuss.

Be the first to start discuss.


Question analytics