| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1656 人关注过本帖
标题:关于“编译预处理和动态存储分配”的一个小小问题
取消只看楼主 加入收藏
wcghappy
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-2-25
收藏
 问题点数:0 回复次数:4 
关于“编译预处理和动态存储分配”的一个小小问题
#include<stdio.h>
#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);
}

这个值为什么是15呢?
看看我算的哪里不对呗?
我的思路:宏定义里面的x与y被赋值成了10和15.
然后进行比较,判断x与y的大小,如果x<y成立,则输出x的值。
然后在通过公式:k=10*MIN(i,j) k=10*15=150 答案就是150 不对啊~~!  为什么是15呢?
搜索更多相关主题的帖子: 动态 预处理 编译 
2008-03-12 19:45
wcghappy
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-2-25
收藏
得分:0 
具体一下呗 初学者不是很明白的
2008-03-12 19:51
wcghappy
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-2-25
收藏
得分:0 
还是不明白,具体点吧~
就是k到底等于什么?
2008-03-12 20:02
wcghappy
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-2-25
收藏
得分:0 
谢谢大家了~
太感谢了~
2008-03-13 15:43
wcghappy
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-2-25
收藏
得分:0 
[bo]以下是引用 [un]死了都要C[/un] 在 2008-3-12 20:18 的发言:[/bo]

我把它扩展一下:

开始:
#define MIN(x,y) (x)

原来这样。。。一个小小的宏有这么多骗人的地方
哎。。。。
2008-03-13 15:46
快速回复:关于“编译预处理和动态存储分配”的一个小小问题
数据加载中...
 
   



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

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