16.3.1 用宏参数创建字符串

C允许在字符串中包含宏参数,在类宏参数的替换体中,#号作为一个预处理运算符,可以把记号转换成字符串。
如果x是一个宏形参,那么#x就是转换为字符串“x”的形参名,这个过程叫做字符串化(stringizing)。
程序示例

#include<stdio.h>
#define psqr(x) printf("the square of "#x" is %d.\n",((x)*(x)))

int main()
{
    int y = 5;

    psqr(y);
    psqr(y + 2);

    return 0;
}

输出示例

the square of y is 25.
the square of y + 2 is 49.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容