Q16
Determine Output: #define clrscr() 100 void main() clrscr(); printf("%d", clrscr());
A.
0
B.
1
C.
100
AnswerD.
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.