| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 852 人关注过本帖
标题:[讨论]为何输出的是15而不是100?
只看楼主 加入收藏
xiehongyou
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2004-8-29
收藏
 问题点数:0 回复次数:10 
[讨论]为何输出的是15而不是100?
为何输出的是15而不是100?
#define MIN(x,y) (x)<(y)?(x):(y)
main()
{
int i,j,k;
i=10;j=15;k=10*MIN(i,j);
printf("%d\n",k);
getch();
}
搜索更多相关主题的帖子: 输出 
2005-03-13 22:23
双云
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2004-11-1
收藏
得分:0 

你是不是没看清楚你的程序,里面有明显的错误 #define是一个预处理命令,只是在编译之前无条件的替换,你考虑一下, 将#define MIN(x,y) (x)<(y)?(x):(y)改写成为#define MIN(x,y) ((x)<(y)?(x):(y))答案就是100

[此贴子已经被作者于2005-3-13 22:59:11编辑过]


2005-03-13 22:34
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 
k=10*MIN(i,j);实际就是
k=10*(i)&lt;(j)?(i):(j);
优先级 "? :"  小于 "&lt;" 小于 "*"

我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2005-03-13 22:56
双云
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2004-11-1
收藏
得分:0 
说的对

2005-03-13 22:59
为了c
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-2-2
收藏
得分:0 
应当深刻领会预编译、宏定义

2005-03-14 17:51
xiehongyou
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2004-8-29
收藏
得分:0 
谢谢,我明白了!
2005-03-14 18:56
手心的太阳
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-1-5
收藏
得分:0 
三 楼的说得很有道理

我喜欢java胜过一切
2005-03-14 20:47
dongfz
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-3-8
收藏
得分:0 
其实,c考试就喜欢出这样的题来阴人!!!

是金子就一定会发亮吗?高手也需要低调!!!!
2005-03-14 22:49
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 
楼上的怎么都是这句话   呵呵

动于心而静如水
2005-03-15 11:37
秋天的果实
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2005-3-16
收藏
得分:0 
2楼     
         

                        我顶

多谢大哥指点,但是我没有看懂是什么意思,你能把你的思路说一下么?请原谅小弟的资质驽钝~~ 再此谢过
2005-03-18 12:35
快速回复:[讨论]为何输出的是15而不是100?
数据加载中...
 
   



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

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