gpt4 book ai didi

c - 在 C 语言中使用 "define"作为 int 和 char

转载 作者:太空宇宙 更新时间:2023-11-04 06:49:30 24 4
gpt4 key购买 nike

我正在尝试使用 #define,例如 int 和 char

#define name joe

这样它是 int,但我希望能够打印这个 #define 并得到 Joe 这个词。我知道我可以使用

#define name "Joe"

但是我会放弃它的“int abilities”。

我能做什么?谢谢大家!

最佳答案

# 预处理器运算符将宏参数转换为字符串文字。的输出:

#include <stdio.h>

#define name Joe
#define Helper(x) #x
#define Stringify(x) Helper(x)

int main(void)
{
int name = 4;
printf("%s is %d.\n", Stringify(name), name);
}

是:

Joe is 4.

需要两个宏,因为 Stringify 中的 x 的扩展只有在应用 # 之后才会执行。所以我们需要 Stringify 来扩展 x,然后需要 Helper 来生成字符串文字。

没有充分理由不要在生产代码中使用它。使用预处理器玩游戏需谨慎。

关于c - 在 C 语言中使用 "define"作为 int 和 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53462784/

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