开发者社区 问答 正文

C语言关于#用法的错误

#include 
#define NAME ABC 
#define AGE 21
void main()
{
fprintf( "我是" #NAME ",年龄"#AGE"\n");
getchar();
}

我是想用# 来实现 输出 我是ABC,年龄21 这样的结果.
这么做的初衷是尝试各种方式运用define功能,是自己理解

展开
收起
a123456678 2016-03-05 10:21:11 1945 分享 版权
1 条回答
写回答
取消 提交回答
  • 正确答案为:

    #include 
    #define NAME ABC
    #define AGE 21
    #define S1(x) #x
    #define S2(x) S1(x)
    
    int main()
    {
    printf("我是" S2(NAME) ",年龄" S2(AGE) "\n");
    getchar();
    return 0;
    }
    2019-07-17 18:52:59
    赞同 展开评论
问答分类:
问答标签:
问答地址: