【问题标题】:Describe those lines [duplicate]描述那些行[重复]
【发布时间】:2020-03-30 14:46:18
【问题描述】:
#include <stdio.h>    

#define get(s) #s  //***

int main()
{
    char str[] = get(hello);  //***

    printf("%s\n", str);
    return 0;
}

//*** 注释帮助我理解这两行? 谁能描述#define 中发生的事情?

【问题讨论】:

标签: c


【解决方案1】:

这是使用预处理器的 stringification 功能。您可以在 https://en.cppreference.com/w/c/preprocessor/replace 的“# 和 ## 运算符”下阅读更多相关信息。

效果是第二条标记线展开为

    char str[] = "hello";

【讨论】:

    猜你喜欢
    • 2017-10-31
    • 2012-08-07
    • 2013-02-01
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 2018-05-31
    相关资源
    最近更新 更多