gpt4 book ai didi

c - C宏中的#x是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 16:20:45 26 4
gpt4 key购买 nike

例如我有一个宏:

#define PRINT(int) printf(#int "%d\n",int)

我有点知道结果是什么。但是#int 怎么会代表整个事情呢?

我有点忘了这个细节。任何人都可以给我一个提示吗?

谢谢!

最佳答案

在此上下文中(应用于宏定义中的参数引用),井号表示将此参数扩展为传递给宏的参数的文字文本。

在这种情况下,如果您调用 PRINT(5),宏扩展将是 printf("5""%d\n", 5); 这将打印5 5;不是很有用;但是,如果您调用 PRINT(5+5),宏扩展将为 printf("5+5""%d\n", 5+5);,这将打印 5+5 10,不那么琐碎了。

这个例子在 this tutorial on the C preprocessor 中有解释。 (顺便说一下,这是 c macro pound sign 的第一个谷歌命中)。

关于c - C宏中的#x是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14351971/

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