标题:C语言的问题~~编译预处理~~~~请大家帮忙看下~~谢谢哈
取消只看楼主
黑白格子布
Rank: 1
等 级:新手上路
威 望:1
帖 子:67
专家分:0
注 册:2005-12-11
 问题点数:0 回复次数:1 
C语言的问题~~编译预处理~~~~请大家帮忙看下~~谢谢哈

是道编译预处理的问题

#define PRI printf
#define NL "\n"
#define D "%d"
#define D1 D NL
#define D2 D D NL
#define D3 D D D NL
#define D4 D D D D NL
#define S "%s"
main()
{int a,b,c,d;
char string[]="china";
a=1;b=2;c=3;d=4;
PRI(D1,a);
PRI(D2,a,b);
PRI(D3,a,b,c);
PRI(D4,a,b,c,d);
PRI(S,string);
}

这是道挺普通的编译预处理的问题,以前都没觉得什么,可那天忽然很认真地将他全部代换过来后发现问题
比如:
PRI(D1,a);
这个代换过来之后是
printf("%d" "\n",a);
应该是这样没错吧,那么里面的两对双引号要怎么处理呢???
难道不会把第2和第3个双引号包括那个空格,都当成字符原样输出吗???

大家不要笑话我傻呀~~~~
期待回话,谢谢!!

搜索更多相关主题的帖子: PRI C语言 define 预处理 
2005-12-11 21:04
黑白格子布
Rank: 1
等 级:新手上路
威 望:1
帖 子:67
专家分:0
注 册:2005-12-11
得分:0 
呀呀~~~~~~~~~~~高手~~~~~~~~~~~~~~字符串拼接~~~~好,去查查看,不明白再问的哦~~~~~~

2005-12-16 17:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-37859-1-1.html




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

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