您的位置:首页 > 其它

字符化运算符 (#@)

2015-11-15 22:23 169 查看
charizing 运算符只能与宏的参数一起使用。 如果宏的定义中的形参前有 #@,则会在扩展宏时用单引号括起实参并将其视为一个字符。

<span style="font-size:18px;">#include <stdio.h>
#define makechar(c) #@c
#define T a
int main() {
char a = makechar(a);
printf("%d\n", a);
a = makechar(ab);
printf("%d\n",a);
a = makechar(1);
printf("%d\n", a);
a = makechar(12);
printf("%d\n", a);

a = makechar("");
printf("%d\n", a);
a = makechar("a");
printf("%d\n", a);

a = makechar(T);//宏定义无法替换
printf("%d\n", a);

const char* str = "abc";
a = makechar(stra);//最多接受4个字符
printf("%d\n", a);

}</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: