In this c
program
#include
int main()
{
#if UnDefinedSymbolicConstant==0
printf(\"UnDefinedSymbolicCon
Yes, this is specified by the standard in 6.10.1:
After all replacements due to macro expansion and the defined unary operator have been performed, all remaining identifiers (including those lexically identical to keywords) are replaced with the pp-number 0
It is the default, but you might at least generate warnings for this using the -Wundef
option to gcc.
`-Wundef': Warn whenever an identifier which is not a macro is encountered in an `#if' directive, outside of `defined'. Such identifiers are replaced with zero.