gpt4 book ai didi

c++ - 这是什么宏?

转载 作者:IT老高 更新时间:2023-10-28 22:18:05 26 4
gpt4 key购买 nike

我遇到了以下代码:

#include<stdio.h>
#define d(x) x(#x[3])
int main(){
d(putchar);
}

c 打印为输出。我想知道宏 #define d(x) x(#x[3]) 有什么作用?在 C 语言中是否有像 # 这样的运算符?我可以在宏体内看到这一点,即这里 x(#x[3])。根据我的正常眼睛,它看起来与我在 C 语言中看到的有所不同,但实际上这是做什么的?

编辑: # 在现实世界中的真正用途是什么?

我是 C 的新手,如果用简单的术语来解释就好了。提前致谢。

最佳答案

字符“#”是一个字符串化器——它将一个符号变成一个字符串。代码变成了

putchar("putchar"[3]);

关于c++ - 这是什么宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7585736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com