免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2138 | 回复: 7
打印 上一主题 下一主题

[C] 求助!C的宏的应用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-28 16:32 |只看该作者 |倒序浏览
  1.   #define get_team_tier(x) config_tier_rating_##x                                                      
  2.                                                                                                          
  3. #define config_tier_rating_0  1                                                                       
  4. #define config_tier_rating_1  1                                                                       
  5. #define config_tier_rating_2  1                                                                       
  6. #define config_tier_rating_3  1        
复制代码
问题是如何把传入x时候的宏定义的值取出来,因为传进去是个变量的话,比如:int i =0;它会变成config_tier_rating_i 而不是config_tier_rating_0,纠结中。。。。。

论坛徽章:
0
2 [报告]
发表于 2011-06-28 16:34 |只看该作者
自己顶一个先。

论坛徽章:
0
3 [报告]
发表于 2011-06-28 16:36 |只看该作者
本帖最后由 luckysir 于 2011-06-28 16:37 编辑

宏是编译预处理时的活动
变量得等到运行时才能处理

菜鸟表示:这太有难度了

论坛徽章:
0
4 [报告]
发表于 2011-06-28 16:38 |只看该作者
啊哦。。。。貌似是那么回事情的。

论坛徽章:
0
5 [报告]
发表于 2011-06-28 16:39 |只看该作者
要是只有这四个数的话

考虑写个switch之类的分支吧呵呵

论坛徽章:
0
6 [报告]
发表于 2011-06-28 19:57 |只看该作者
回复 1# singerinsky


    比如:int i =0;
这个是在程序执行期间的动作
预处理是在编译之前的事情

论坛徽章:
0
7 [报告]
发表于 2011-06-29 08:56 |只看该作者
回复 1# singerinsky


    所以简言之你的需求不能用你希望的方法实现

论坛徽章:
0
8 [报告]
发表于 2011-06-29 08:57 |只看该作者
回复 6# KBTiller


    对的啊,脑袋糊了下。。。。的确如你所说。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP