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

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

#include<stdio.h>
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 где-нибудь ещеis being assumed as 0 и даетвывод наgcc-4.3.4   как:

UnDefinedSymbolicConstant is equal to 0

так, Is this the standard behaviour or it works like this only in gcc?

Ответы на вопрос(2)

Ваш ответ на вопрос