gpt4 book ai didi

c - C/C++ 中#define 宏的正确顺序

转载 作者:行者123 更新时间:2023-11-30 17:01:14 31 4
gpt4 key购买 nike

我尝试像这样保存变量名称:

#define TEST someVariable
#define makeString(x) #x

int main(int argc, char *argv[])
{
char TEST[] = makeString(TEST);
printf("%s %s\n", TEST, makeString(TEST));
return 0;
}

输出是:

appden4ik@appDen4ik:/opt/preprocessor/Debug$ ./preprocessor 
TEST TEST'

我想要下一个输出:

someVariable      someVariable

我哪里错了?

最佳答案

#include <stdio.h>


#define TEST variable
#define makeStr(x) #x
#define makeString(x) makeStr(x)

int main(int argc, char *argv[]) {
char TEST[] = makeString(TEST);
printf("%s %s\n", TEST, makeString(TEST));
return 0;
}

这有帮助

关于c - C/C++ 中#define 宏的正确顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37171450/

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