| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 615 人关注过本帖
标题:宏定义的问题
只看楼主 加入收藏
tata23
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-12-10
收藏
 问题点数:0 回复次数:2 
宏定义的问题

#include<iostream>
using namespace std;
inline int mult1(int x,int y)
{
return x*y;
}
# define mult2(x,y) x*y //宏定义
void main()
{
int i=mult1(2,1+2);
int j=mult2(2,1+2);
cout<<"i="<<i<<" j="<<j<<endl;
}

c语言中的宏定义是怎么赋值啊 为什么这个程序的结果是 i=6 j=4

搜索更多相关主题的帖子: 定义 
2005-12-24 21:21
strawberry
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-11-30
收藏
得分:0 

这是一个变量的宏定义.宏定义就是把变量赋的值原封不动的写在上边.
比如:
mult2(2,1+2)就是 2*1+2 而不是2*(1+2) [原封不动]


我知道交流对于软件人是多么的重要! 所以我希望长期待在这里!
2005-12-24 22:26
黑白格子布
Rank: 1
等 级:新手上路
威 望:1
帖 子:67
专家分:0
注 册:2005-12-11
收藏
得分:0 
带参的宏在定义的时候应该将各个参数分别括起来的,这样不容易出错了

2005-12-26 00:28
快速回复:宏定义的问题
数据加载中...
 
   



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

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