| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 394 人关注过本帖
标题:预处理函数的使用
只看楼主 加入收藏
stone_yang
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2010-10-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
预处理函数的使用
     #define MAX(a,b) ((a)>(b)?(a):(b))
    int a=1,b=0;
    MAX(a++,b); //a被增值2次
    MAX(a++,b+10); //a被增值1次
为什么,在第一个宏替换后,a被增值两次,变成a=3?
搜索更多相关主题的帖子: 函数 预处理 
2010-10-20 15:50
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:20 
((a++)>(b)?(a++):(b));
((a++)>(b+10)?(a++):(b+10));
a++ a++ 肯定是3

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-20 15:54
stone_yang
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2010-10-16
收藏
得分:0 
回复 2楼 vandychan
多谢!明白了
2010-10-20 15:58
stone_yang
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2010-10-16
收藏
得分:0 
如果参数a 和b 类型不匹配,系统不报错,那么它处理的结果应该是什么?? ;例如 swap(3,"hello")
2010-10-20 16:01
快速回复:预处理函数的使用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034625 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved