c语言#运算符

#运算符

#define PSQR (x) printf ("The square of X is %d.\n",((x)*(x)));
如果这样使用宏:
PSQR(8);
则输出为:
The square of X is 64.
在类函数宏的替换部分中,#运算符用作一个预处理运算符,它可以把语言符号转化为字符串,例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字符串。该过程称为字符串化。

/*subst.c--在字符串中进行替换*/
#include <stdio.h>
#define PSQR(x) printf("The square of " #x "is %d.\n",((x)*(x)))

int main(){
     int y=5;

     PSQR(y);
     PSQR(2+4);
     return 0;
}

输出如下:
The square of y is 25.
The square of 2+4 is 36;

第一次调用宏时,用"y"代替#x;第二次调用宏时,用"2+4"代替#x。ANSI C的字符串连接功能将这些字符串与printf()语句中的其他字符串组合以产生最终使用的字符串。例如,第一次调用变成:
printf("The square of " "y" " is %d.\n".((y)*(y)));
接着,字符串连接功能将这三个相邻的字符串转换为一个字符串:
"The square of y is %d.\n"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值