Q. Determine Output

Code:
#define clrscr() 100
void main()
{
      clrscr();
      printf("%d", clrscr());
}
  • (A) 0
  • (B) 1
  • (C) 100
  • (D) Error
πŸ’¬ Discuss
βœ… Correct Answer: (C) 100
Explanation: 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.
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.

πŸ’¬ Discussion


πŸ“Š Question Analytics

πŸ‘οΈ
213
Total Visits
πŸ“½οΈ
4 y ago
Published
πŸŽ–οΈ
Rajeev Malhotra
Publisher
πŸ“ˆ
98%
Success Rate