| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1001 人关注过本帖
标题:宏替换问题,这样也行吗???
只看楼主 加入收藏
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
 问题点数:0 回复次数:14 
宏替换问题,这样也行吗???
#include <stdio.h>
#include <stdlib.h>

struct ss {
int b;
};

#define C b

int main(void)
{
struct ss s;

s.C = 10;
printf("%d\n", s.C);

exit(0);
}


搜索更多相关主题的帖子: include 
2006-10-12 13:19
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
测试通过是可以
#include <stdio.h>
#include <stdlib.h>

struct ss {
int b;
};

#define C b

void main()
{
struct ss s;

s.C = 10;
printf("%d\n", s.C);

}

谁有强殖装甲第二部,可以Q我460054868
2006-10-12 13:47
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
收藏
得分:0 
怎么不行?

宏定义之后,在程序中出现的所有在define中定义的名字都会被替换文本替换。

我的原则很简单:不做不喜欢的事!
2006-10-12 16:15
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
相当于字符串替换.

倚天照海花无数,流水高山心自知。
2006-10-12 23:07
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
宏作用强大,可以替代关建词,
#include<stdio.h>
#define zhexingbianlian int
#define shuchu printf
int main()
{
zhexingbianlian a=100;
shuchu("%d\n",a);
return(0);
}

谁有强殖装甲第二部,可以Q我460054868
2006-10-13 22:18
天少云
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-10-14
收藏
得分:0 
呵呵,是可以的

2006-10-14 15:50
andy_lau
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-8-7
收藏
得分:0 

有个程序不懂,如下:
#define S(x)4*x*x+1
main()
{ int i=6,i=8;
printf("%d\n",S(i+j))
}
答案是81。解释:S(i+j)被替换为4*i+j*i+j+1.不懂的是:为什么是这样替换的?替换的过程这样理解??

2007-08-07 21:14
anlogo
Rank: 2
等 级:论坛游民
威 望:1
帖 子:293
专家分:20
注 册:2007-7-20
收藏
得分:0 
2007-08-07 21:20
andy_lau
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-8-7
收藏
得分:0 
有个程序不懂,如下:
#define S(x)4*x*x+1
main()
{ int i=6,j=8;
printf("%d\n",S(i+j))
}
答案是81。解释:S(i+j)被替换为4*i+j*i+j+1.不懂的是:为什么是这样替换的?替换的过程这样理解??
2007-08-07 21:31
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
老问题了 , 要知道 宏是完完全全的替换,他不会自动为你添加什么括号之类的东西。

天行健,君子以自强不息!!QQ:68660681
2007-08-07 21:46
快速回复:宏替换问题,这样也行吗???
数据加载中...
 
   



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

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