#include <stdio.h> #define X 3 #if !X printf ( "Geeks" );
#else printf ( "Quiz" );
#endif int main()
{ return 0;
} |
(A) Geeks
(B) Quiz
(C) Compiler Error
(D) Runtime Error
Answer: (C)
Explanation: A program is converted to executable using following steps
1) Preprocessing
2) C code to object code conversion
3) Linking
The first step processes macros. So the code is converted to following after the preprocessing step.
printf("Quiz"); int main() { return 0; }
The above code produces error because printf() is called outside main. The following program works fine and prints “Quiz”
#include #define X 3 int main() { #if !X printf("Geeks"); #else printf("Quiz"); #endif return 0; }