|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 以下程序的输出结果
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1135
人关注过本帖
标题:
以下程序的输出结果
只看楼主
加入收藏
plane5530
等 级:
新手上路
帖 子:76
专家分:0
注 册:2007-1-19
结帖率:
83.33%
楼主
收藏
问题点数:0 回复次数:18
以下程序的输出结果
#define MT(a,b,c) a*b+c
main()
{int x=1,y=2,z=3;
printf("%d\n",MT(x+y,y+z,z+x));
我是这样算的:a=x+y=3, b=y+z=5, c=3+1=4,代入最上面MT定义,得3*5+4=19;然而答案却是12,有请网友帮助并详细给解释下,谢谢!
搜索更多相关主题的帖子:
结果
输出
定义
代入
2007-03-12 10:48
举报帖子
使用道具
赠送鲜花
summoner
等 级:
贵宾
威 望:
20
帖 子:1622
专家分:0
注 册:2005-3-3
第
2
楼
收藏
得分:0
代入后
1+2*2+3+3+1
[URL=javascript:window.close();e=new Enumerator(window.opener.document.images);for(;!e.atEnd();e.moveNext()){e.item().src=\'http://blog./UploadFiles/2007-1/117175967.gif\';}]其疾如風、其徐如林、侵掠如火、不動如山、難知如陰、動如雷震[/URL]
2007-03-12 10:51
举报帖子
使用道具
赠送鲜花
sztonyyang
等 级:
新手上路
帖 子:106
专家分:0
注 册:2007-3-1
第
3
楼
收藏
得分:0
呵呵 那你这段a=x+y, b=y+z, c=x+z 怎么没列上去呢
生活就是拼搏! C语言QQ群社:23644804
2007-03-12 10:53
举报帖子
使用道具
赠送鲜花
plane5530
等 级:
新手上路
帖 子:76
专家分:0
注 册:2007-1-19
第
4
楼
收藏
得分:0
[QUOTE][/QUOTE]代入后
1+2*2+3+3+1
这是怎么代入的,能提示下吗?小弟刚学不久,有劳各位了!
2007-03-12 11:03
举报帖子
使用道具
赠送鲜花
neverTheSame
来 自:江西农业大学
等 级:
新手上路
威 望:
9
帖 子:1511
专家分:0
注 册:2006-11-24
第
5
楼
收藏
得分:0
#define MT(a,b,c) a*b+c
MT(x+y,y+z,z+x) 展开就是:
x+y*y+z+z+x
就是2楼所说的。
wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-12 11:28
举报帖子
使用道具
赠送鲜花
plane5530
等 级:
新手上路
帖 子:76
专家分:0
注 册:2007-1-19
第
6
楼
收藏
得分:0
#define MT(a,b,c) a*b+c
MT(x+y,y+z,z+x) 展开就是:
x+y*y+z+z+x
就是2楼所说的。[
QUOTE][/QUOTE]
是怎么对应的,能解释下吗?小弟刚学不久,很多简单的问题不懂,有劳各位了!
2007-03-12 11:42
举报帖子
使用道具
赠送鲜花
neverTheSame
来 自:江西农业大学
等 级:
新手上路
威 望:
9
帖 子:1511
专家分:0
注 册:2006-11-24
第
7
楼
收藏
得分:0
#define MT(a,b,c) a*b+c
MT(x+y,y+z,z+x)
就是把a用x+y代替
把b用y+z代替
把c用z+x代替
就可以了,
你代入一下,就是不这样的.
wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-12 12:31
举报帖子
使用道具
赠送鲜花
PcrazyC
等 级:
贵宾
威 望:
29
帖 子:5652
专家分:0
注 册:2006-10-20
第
8
楼
收藏
得分:0
#define MT(a,b,c) a*b+c
是一个带参数的预编译命令,在编译前会检查代码,只要遇到MT(参数1,参数2,参数3)时,都会将MT(参数1,参数2,参数3)用后面的代替:参数1*参数2+参数3,而不管参数是否定义(这一步会在编译的时候检查).
雁无留踪之意,水无取影之心
2007-03-12 12:43
举报帖子
使用道具
赠送鲜花
孙立志
等 级:
新手上路
帖 子:9
专家分:0
注 册:2007-3-12
第
9
楼
收藏
得分:0
2007-03-12 12:59
举报帖子
使用道具
赠送鲜花
plane5530
等 级:
新手上路
帖 子:76
专家分:0
注 册:2007-1-19
第
10
楼
收藏
得分:0
[QUOTE]
#define MT(a,b,c) a*b+c
MT(x+y,y+z,z+x)
就是把a用x+y代替
把b用y+z代替
把c用z+x代替
就可以了,
[/QUOTE]
小弟不才,还是没弄明白。
代替后,(x+y)*(y+z)+(z+x)=xy+y*y+x*z+y*z+z+x=2+4+3+6+3+1=19?为何会这样?
2007-03-12 13:08
举报帖子
使用道具
赠送鲜花
19
1/2页
1
2
快速回复:
以下程序的输出结果
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.092952 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved