美文网首页
16.3.1 用宏参数创建字符串

16.3.1 用宏参数创建字符串

作者: 日常表白结衣 | 来源:发表于2017-07-24 19:37 被阅读0次

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.

相关文章

  • 16.3.1 用宏参数创建字符串

    C允许在字符串中包含宏参数,在类宏参数的替换体中,#号作为一个预处理运算符,可以把记号转换成字符串。如果x是一个宏...

  • 第九章-预处理命令

    一、宏定义。 1、不带参数的宏定义:#define 标识符 字符串 注意:(1)宏定义是用宏名替代一个字符串,也就...

  • iOS宏定义小技巧

    非字符串宏定义参数替换成字符串参数

  • 2018-05-31

    预处理命令: 宏 不带参数的的宏定义 不是c语句 PI宏展开宏明 可以层层置换 简单的字符串替换 带参数的宏 不是...

  • C 语言 宏 整理

    开头的语句就是预处理命令 语句中可以利用" \ "来换行. 把宏参数变为一个字符串, 用##把两个宏参数贴合在一起...

  • 8.#与##的作用?

    '#'是把宏参数转化为字符串的运算符,'##'是把两个宏参数连接的运算符。例如:

  • define中的#号的含义

    #号的含义 #的作用是将宏定义中传入的参数名转化为用一对双引号修饰的参数名的字符串。也就是说只有传参的宏定义中才会...

  • 笔记

    #define str(XX) #XX 字符串原样输出,一个#把宏参数变为一个字符串,两个##把宏参数贴合在一起...

  • C语言宏定义

    1、一般定义 2、条件判断 3、编译时错误信息 4、系统常见自定义宏 5、宏参数的字符串化和宏参数的连接

  • 1.不带参数的宏定义: 宏定义又称为宏代换、宏替换,简称“宏”。格式:#define 标识符 字符串其中的标识符就...

网友评论

      本文标题:16.3.1 用宏参数创建字符串

      本文链接:https://www.haomeiwen.com/subject/unxikxtx.html