宏定义里面有个##和字符串的关系
#include <stdio.h>
#define CAT(x, y) x##y //将x,y连接起来形成"xy"的形式
void main()
{
printf("%s", CAT("hello", " world"));
}
出现在宏定义中的##是用来告诉编译器,将两个字符串系在一起。 -
一个#代表将一个宏参数转变为一个string ,例如
#include<stdio.h>
#define stringer( x ) printf( #x "\n" )
void main()
{
stringer( haha );
}
这里的这个#将x转化为一个string ,这个宏就是要将x传进来的东西打印到屏幕上 ,只有一个是将其变为字符串
#include <stdio.h>
#define TRACE(x) printf(#x" is: %d\n", x)
void main(void)
{
int i=3;
TRACE(i);
}
posted on 2010-03-22 22:22
seedshopezhong 阅读(154)
评论(0) 编辑 收藏 引用 所属分类:
c语言