请问C语言中#if(NUMBER == NUM)这样的语句中“NUM”如果不定义会不会有错,为什么。谢谢高手指点!

 我来答
欧洲竹子2a
2012-10-23 · TA获得超过232个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:216万
展开全部
应该这么写:
#define NUMBER 1
#if (NUMBER == NUM)
#define ABC 0
#else
#define ABC 1
#endif

NUMBER 定义为1,而NUM没有定义。预处理为认为两者不同,因此ABC为1。两者都不定义,预处理也认为两者不同。只有两者都定义时,才可以相互比较。否则都认为是不相等。
百度网友54c2389
2012-10-22 · TA获得超过182个赞
知道小有建树答主
回答量:214
采纳率:100%
帮助的人:144万
展开全部
先定义后使用的原则,如果NUM在使用之前没有定义则报错!
更多追问追答
追问
我问的是在预处理时的语句   :

#define NUMBER 1
#if(NUMBER == NUM)
……
如果NUM没有define上面 #if 会不会成立,或者是会不会报错?
追答
不成立的,很明显的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式