Open In App

C | Macro & Preprocessor | Question 8




#include <stdio.h>
#define a 10
int main()
{
  printf("%d ",a);
  
  #define a 50
  
  printf("%d ",a);
  return 0;
}

(A) Compiler Error
(B) 10 50
(C) 50 50
(D) 10 10

Answer: (B)
Explanation: Preprocessor doesn’t give any error if we redefine a preprocessor directive. It may give warning though. Preprocessor takes the most recent value before use of and put it in place of a.

Article Tags :