#ifdef case 问题

DoubleJiang 2008-07-14 01:06:45
switch(x)
{
#ifdef A1
case A1:
#endif // A1
#ifdef A2
case A2:
#endif // A2
#ifdef A3
case A3:
#endif // A3
#ifdef A4
case A4:
#endif // A4
#ifdef A5
case A5:
#endif // A5
#ifdef A6
case A6:
#endif // A6
#ifdef A7
case A7:
#endif // A7
#ifdef A8
case A8:
#endif // A8
#ifdef A9
case A9:
#endif // A9
break;
}

怎样简写为如下形式:

#define CASE_X(x)\
#ifdef x\
case x\
#endif //

switch(x)
{
CASE_X(A1):
CASE_X(A2):
CASE_X(A3):
CASE_X(A4):
CASE_X(A5):
CASE_X(A6):
CASE_X(A7):
CASE_X(A8):
CASE_X(A9):
break;
}
...全文
255 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DoubleJiang 2008-07-15
  • 打赏
  • 举报
回复
up
DoubleJiang 2008-07-14
  • 打赏
  • 举报
回复
只是想讨论能否实现此问题。
yyyapple 2008-07-14
  • 打赏
  • 举报
回复
宏是在编译时期确定能,不能在运行时候

宏的嵌套顺序这样:


#ifdef A1
#define
#endif




「已注销」 2008-07-14
  • 打赏
  • 举报
回复
我就不明白了,代码为什么非得写成这个样子呢?
这么多#ifdef了,还用switch干什么啊.
e_sharp 2008-07-14
  • 打赏
  • 举报
回复
UP
yyyapple 2008-07-14
  • 打赏
  • 举报
回复
这样不行


这句不会包含在宏之中
#ifdef xx case xx: #endif

#define CASE_X(x)空定义了
DoubleJiang 2008-07-14
  • 打赏
  • 举报
回复
宏的问题:

能否实现这样的定义
#define CASE_X(x)\
#ifdef x\
case x\
#endif //
yyyapple 2008-07-14
  • 打赏
  • 举报
回复
什么问题?

70,023

社区成员

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

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