Стандартно ли для #считать неопределенные символические константы равными 0?

В этой cпрограмме

#include
int main()
{

        #if UnDefinedSymbolicConstant==0
                printf("UnDefinedSymbolicConstant is equal to 0\n ");
        #else
                printf("UnDefinedSymbolicConstant is not equal to 0\n");

        #endif
        return 0;
}

UnDefinedSymbolicConstant не был #defineнигде, тем не менее он принимается равным 0 и дает вывод наgcc-4.3.4как:

UnDefinedSymbolicConstant is equal to 0

так, Это стандартное поведение или так работает только в gcc?

13
задан Eight 4 July 2012 в 13:19
поделиться