Machine-translated by Google. Questions are authored in English.
Top

Discussion

What will be the output of the following C code?

#include <stdio.h>
#define san 10
main()
{
    #ifdef san
    #define san 20
    #endif
    printf("%d",san);
}

 

  • A.10
  • B.20
  • C.Error
  • D.1020

Answer: B

Correct answer: 20

san is defined, so the #ifdef is true and the redefinition to 20 takes effect. By the time the preprocessor reaches the printf, san means 20, so 20 is printed.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.