#include #define STR(s) #s int main(void) 使用单个#号的时候,参数会变作为字符串被替换。 BTW:网上能找到的一篇被大量转载的文章(C语言宏定义技巧)中的代码有问题,上面的代码可以完全正常运行。
#include
#define CONS(a,b) (int)(a##e##b)
{
printf(“int max %s\n”,STR(INT_MAX));
printf(“%d\n”,CONS(2,3));
return 0;
}
使用两个##号时,参数会连接在一起。
-
Archives
- March 2012
- December 2011
- March 2011
- December 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- January 2010
- December 2009
- October 2009
- September 2009
- August 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
-
Meta
##不宜过分使用,你昨天看的代码可以说就属于滥用了~!
另外,建议你看看我写的这篇论文:
http://wangcong.org/down/lkllp-wangcong.pdf
里面有很多C语言方面的技巧~!