UnDefinedSymbolicConstant

UnDefinedSymbolicConstant

在这个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,但仍将假定为0 ,并将output on gcc-4.3.4 设置为:
UnDefinedSymbolicConstant is equal to 0

所以,
这是标准行为还是仅在gcc中如此?

最佳答案

是的,这由6.10.1中的标准指定:

07-25 22:13