我找到了以下代码:
#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 语言方面的新手,如果解释简单易懂将会很好。先谢谢了。
#
只是一个预处理器功能,而不是 C 语言功能。 - user395760