| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 443 人关注过本帖
标题:关于define的题!!!
只看楼主 加入收藏
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:5 
关于define的题!!!
程序代码:
# include <stdio.h>
#define area (x) (3.14*x*x)
int main(void)
{
    printf("%f\n",area(2.5));
}
   
    大家不用运行,你们能看出,这道题是对还是错吗?

[ 本帖最后由 a9517495424 于 2011-8-12 16:00 编辑 ]
2011-08-12 15:50
QQ346957135
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:148
专家分:658
注 册:2011-8-9
收藏
得分:3 
楼主想表达什么?
请问#inclue  是你自己发明的吗
还有area后面加个空格,你就这点基础?

A real warrior never quits.
2011-08-12 15:55
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
回复 2楼 QQ346957135
不是,我刚刚做了这道题,我看了好久都没发现错误,看了答案才知道,所以拿上来给大家瞧瞧。
2011-08-12 16:01
woshiaokeman
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:60
专家分:123
注 册:2011-4-5
收藏
得分:3 
类似这个题目我原来做过。。。
主要是#define X(Y) Z*Y和#define X(Y) Z*(Y)的区别。。。
例如:z=1,y=2+3;
前者:1*2+3=5 后者:1*(2*3)=6
我的理解应该是这样……
2011-08-12 16:14
韩54521风
Rank: 4
等 级:业余侠客
帖 子:75
专家分:212
注 册:2011-6-11
收藏
得分:3 
一看就觉得不对劲,既然是define,那就是宏定义了,可是却与函数及其调用搞混了
#define area (x) (3.14*x*x)
printf("%f\n",area(2.5));这就是混淆了两者的用法了,对吧?

2011-08-12 22:27
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
回复 5楼 韩54521风
程序对不对不说,宏定义是可以这样调用的。
2011-08-12 22:35
快速回复:关于define的题!!!
数据加载中...
 
   



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

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