首页 > 其他 > 详细

#if #elif #define typedef 使用时的注意事项

时间:2015-04-24 01:06:31      阅读:503      评论:0      收藏:0      [点我收藏+]

假设有如下代码需要兼容三个版本


这样无法完成任务的

无论


typedef enum{
	FIRST,
	SECOND,
	THIRD,
};

#define NUM  THIRD

#if (NUM == FIRST)
#define  VAR  1
#elif(NUM == SECOND)
#define  VAR  2
#elif(NUM == THIRD)
#define  VAR  3
#endif

int main(void)
{
#if (NUM == FIRST)
printf("VAL = %d\n",VAR);
#elif(NUM == SECOND)
printf("VAL = %d\n",VAR);
#elif(NUM == THIRD)
printf("VAL = %d\n",VAR);
#endif
}

#define NUM  FIRST还是

#define NUM  SECOND还是

#define NUM  THIRD

运行结果都一样

技术分享


但是这样就可以完成任务了


#define FIRST    1
#define SECOND   2
#define THIRD    3



#define NUM  THIRD

#if (NUM == FIRST)
#define  VAR  1
#elif(NUM == SECOND)
#define  VAR  2
#elif(NUM == THIRD)
#define  VAR  3
#endif

int main(void)
{
#if (NUM == FIRST)
printf("VAL = %d\n",VAR);
#elif(NUM == SECOND)
printf("VAL = %d\n",VAR);
#elif(NUM == THIRD)
printf("VAL = %d\n",VAR);
#endif
}

技术分享

#define NUM  FIRST还是

#define NUM  SECOND还是

#define NUM  THIRD

都可以得到想要的结果



为什么呢?????





#if #elif #define typedef 使用时的注意事项

原文:http://blog.csdn.net/dearwind153/article/details/45232103

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!