| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 699 人关注过本帖
标题:关于函数调用
只看楼主 加入收藏
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
大概是我没说清楚

#define f(x) x*x;

这句在单独用时不会有问题。

但对于f(a)/f(b);

这里就会发生语法错误。a*a;/b*b;这句不对吧。我指的是这里。

重剑无锋,大巧不工
2012-03-16 13:14
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:0 
以下是引用wsws23在2012-3-16 13:12:11的发言:

对于f(a+b)的宏定义,他不会执行a+bd的结果,他会这样执行a+b*a+b,和你的预期是不同的。
#define f(x) ((x)*(x))
不明白你的意思 如果已经定义
f(a+b) = ((a+b)*(a+b))  不是这样难道还能怎样啊

用心做一件事情就这么简单
2012-03-16 13:15
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 9楼 wsws23
你的理解力和我的预期也不同。

重剑无锋,大巧不工
2012-03-16 13:16
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:0 
以下是引用embed_xuel在2012-3-16 13:13:18的发言:

加分号可以,但实际工作中很少见到宏里带分号的,用的人稍不留神就错了,可能还不会有编译错,想想这种情况,出了问题怎么定位。
呵呵,不使用宏 呵呵。
请问要怎么排除呢。
不好定位吧 。
一个大的项目 怎么知道恰好是宏出问题呢。

等排除了几天几夜发现是宏错误了。那不当时就崩溃了啊

用心做一件事情就这么简单
2012-03-16 13:19
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
不是不使用宏,大公司编程规范里有规定宏的写法

总有那身价贱的人给作业贴回复完整的代码
2012-03-16 13:31
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
经验多了就知道了

总有那身价贱的人给作业贴回复完整的代码
2012-03-16 13:35
C_596322153
Rank: 6Rank: 6
来 自:徽州
等 级:侠之大者
帖 子:182
专家分:466
注 册:2012-1-10
收藏
得分:0 
你 宏定义 多了个分好  
2012-03-16 14:30
快速回复:关于函数调用
数据加载中...
 
   



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

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