下面两个宏定义意义不同?请教..

arden1019 2005-07-04 11:01:21
第一个:
#ifdef MSIZE
#undef MSIZE
#define MSIZE 128
#else
#define MSZIE 128
#endif

第二个:
#ifndef MSIZE
#define MSIZE 128
#else
#undef MSZIE
#define MSIZE 128
#endif


有人说意义不同,我不太明白,请大家解释一下
...全文
156 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
直接 #undef MSIZE #define MSIZE 128 就好了,搞那么复杂干什么哦
6spring 2005-07-04
  • 打赏
  • 举报
回复
1、如果定义了,取消,重定义;否则,定义
2、如果没有定义,定义;否则,取消原定义,重定义

效果是一样的,只是if(is){code1} else{code2}与 if(!is){code2} else{code1} 的区别。
nuoya 2005-07-04
  • 打赏
  • 举报
回复
表达的意思是一样的。只是计算的逻辑顺序不同,可能造成的是运算次数不同
tfq 2005-07-04
  • 打赏
  • 举报
回复
混乱的逻辑
megaboy 2005-07-04
  • 打赏
  • 举报
回复
意义一样的,要真说有什么不同,那就是选择的顺序不同,呵呵。
seamine 2005-07-04
  • 打赏
  • 举报
回复
第一个:
#ifdef MSIZE
#undef MSIZE
#define MSIZE 128
#else
#define MSZIE 128 //笔误吗??
#endif

第二个:
#ifndef MSIZE
#define MSIZE 128
#else
#undef MSZIE //这个呢??
#define MSIZE 128
#endif
QunKangLi 2005-07-04
  • 打赏
  • 举报
回复
我看应该是一样的吧,都是:
#ifdef MSIZE
# undef MSIZE
#endif
#define MSIZE 128
junguo 2005-07-04
  • 打赏
  • 举报
回复
看不出不同!
xiao_xiao_zi 2005-07-04
  • 打赏
  • 举报
回复
我觉得是一样的
arden1019 2005-07-04
  • 打赏
  • 举报
回复
其实我也感觉是一样的....结了吧
darkwanderer 2005-07-04
  • 打赏
  • 举报
回复
意义是一样的,只是逻辑上的分支不一样吧。
whatsouta 2005-07-04
  • 打赏
  • 举报
回复
少数服从多数
darkstar21cn 2005-07-04
  • 打赏
  • 举报
回复
我只知道,结果是,无论何种情况下MSIZE都被定义为128
qfeng_zhao 2005-07-04
  • 打赏
  • 举报
回复
一样的吧

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧