gpt4 book ai didi

c - 错误粘贴 ""HELLO ""and ""WORLD""does not give a valid preprocessing token

转载 作者:太空狗 更新时间:2023-10-29 17:10:10 24 4
gpt4 key购买 nike

这是错误的代码

#include<stdio.h>

#define CAT_I(A, B) A ## B
#define CAT(A, B) CAT_I(A,B)

void main (void)
{
printf(CAT("HELLO","WORLD"));
}

为什么会报错?我该如何解决?

编辑

这就是我想要做的

#define TAG                   "TAG"
#define PRE CAT(CAT("<",TAG),">")
#define POS CAT(CAT("</",TAG),">")

#define XML CAT(CAT(PRE,"XML SOMETHING"),POS)

然后

printf(XML); 

最佳答案

##的结果必须是单个token,"HELLO""WORLD"不是单个token。要连接字符串,只需将它们并排放置即可:

printf("HELLO" "WORLD");

或者更改您的宏以删除 ##

#define CAT(A, B) A B

当它们之间没有中间标记时,字符串文字被连接在一起。

关于c - 错误粘贴 ""HELLO ""and ""WORLD""does not give a valid preprocessing token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11156531/

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