Vidyalelo
C Programming · Q16

C Miscellaneous

Programming · C Programming · question 16

Q16

Determine Output: #define clrscr() 100 void main() clrscr(); printf("%d", clrscr());

A.
0
B.
1
C.
100
Answer
D.
Error

Answer: Option C

Solution

Answer: Option C
Solution:

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.