设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1549|回复: 2
打印 上一主题 下一主题

宏问题 #define TRACE(ARG) cout

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-5 01:07:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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们,请指教一二~~
2#
发表于 2009-11-5 01:07:22 | 只看该作者
不会吧,没人知道?
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-5 01:07:23 | 只看该作者
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;
*/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 13:38 , Processed in 0.118468 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表