标题:宏问题 #define TRACE(ARG) cout
只看楼主
wenzenglin
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-2-26
 问题点数:0 回复次数:3 
宏问题 #define TRACE(ARG) cout
#include<iostream.h>
#define TRACE(ARG) cout<< #ARG<<endl;ARG
void main()
{
//for(int i=0;i<100;i++)cout<<i<<endl;
TRACE(for(int i=0;i<100;i++)) //这里有';'与无';'结果不一样,不知道这里的宏是如何替换的
TRACE(cout<<i<<endl;)
}



XDJM们,请指教一二~~
搜索更多相关主题的帖子: ARG TRACE cout define 
2007-04-10 16:37
wenzenglin
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-2-26
得分:0 
不会吧,没人知道?
2007-04-11 10:49
游乐园
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:671
专家分:0
注 册:2006-11-1
得分:0 

TRACE(for(int i=0;i<100;i++))
TRACE(cout<<i<<endl;)

注意 # 的用法 #ARG 意思是把ARG转换为字符串

/*没有分号 展开为
cout<<"for(int i=0;i<100;i++)"<<endl;
for(int i=0;i<100;i++) cout<<"cout<<i<<endl;"<<endl; //输出100次
cout<<i<<endl;

*/

/*有分号 展开为
cout<<"for(int i=0;i<100;i++)"<<endl;
for(int i=0;i<100;i++);//循环100次 不输出任何东西
cout<<"cout<<i<<endl;"<<endl;
cout<<i<<endl;
*/


unicorn-h.spaces. ◇◆ sava-scratch.spaces.
2007-04-11 12:19
ljfabcd
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-4-2
得分:0 
2007-04-13 21:55



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




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

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