
请问C语言中#if(NUMBER == NUM)这样的语句中“NUM”如果不定义会不会有错,为什么。谢谢高手指点!
2个回答
展开全部
应该这么写:
#define NUMBER 1
#if (NUMBER == NUM)
#define ABC 0
#else
#define ABC 1
#endif
NUMBER 定义为1,而NUM没有定义。预处理为认为两者不同,因此ABC为1。两者都不定义,预处理也认为两者不同。只有两者都定义时,才可以相互比较。否则都认为是不相等。
#define NUMBER 1
#if (NUMBER == NUM)
#define ABC 0
#else
#define ABC 1
#endif
NUMBER 定义为1,而NUM没有定义。预处理为认为两者不同,因此ABC为1。两者都不定义,预处理也认为两者不同。只有两者都定义时,才可以相互比较。否则都认为是不相等。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询