| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 488 人关注过本帖
标题:[求助]解释一段程序代码(2)
只看楼主 加入收藏
hemingsheng
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2007-5-16
结帖率:100%
收藏
 问题点数:0 回复次数:5 
[求助]解释一段程序代码(2)
#include <iostream.h>
#define min(x,y) (x)<(y)?(x):(y)
void main()
{
int i,j,k;
i=10;
j=15;
k=10*min(i,j);
cout<<k;
}
结果为什么会输出15而不是100?
要这样才能输出100:
#include <iostream.h>
#define min(x,y) (x)<(y)?(x):(y)
void main()
{
int i,j,k;
i=10;
j=15;
k=10*(min(i,j));
cout<<k;
}
为什么???
搜索更多相关主题的帖子: 代码 解释 
2007-07-08 13:40
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 

因为define语句是直接代换的~~

k=10*min(i,j)这个语句会直接变成

k=10*(x)<(y)?(x):(y)
所以结果为15~~

加了括号就变成为

k=10*((x)<(y)?(x):(y))

不知道你明白没有~~



每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-07-08 13:55
stupid_boy
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-6
收藏
得分:0 
define只是进行纯粹的字符替换.

明白了没

失眠。。。
2007-07-08 13:58
hemingsheng
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2007-5-16
收藏
得分:0 

哦 明白勒 鬱悶 老師怎么沒有說呢。。。


设计彼岸程序 编写人生代码
2007-07-08 15:25
野比
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:1627
专家分:516
注 册:2007-5-24
收藏
得分:0 

所以你这样写就可以了.
#define min(x,y) ((x)<(y)?(x):(y))


女侠,约吗?
2007-07-08 20:06
hemingsheng
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2007-5-16
收藏
得分:0 
回复:(野比)所以你这样写就可以了.#define min(x,y...

哦 谢谢啦


设计彼岸程序 编写人生代码
2007-07-10 22:05
快速回复:[求助]解释一段程序代码(2)
数据加载中...
 
   



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

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