C | Macro & Preprocessor | Question 8

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


(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.



My Personal Notes arrow_drop_up