#define 中的换行符和单双引号

Jac*_*ich 1 c gcc c-preprocessor

我正在尝试制作一个程序(只是为了好玩),需要这样的东西:

#define TEST "HELLO
#define TEST2 WORLD\n"

...

printf(TEST TEST2);

...
Run Code Online (Sandbox Code Playgroud)

我希望输出是

HELLO WORLD

但是该代码不起作用。

有没有办法在 C 中包含像这样的换行符和双引号?

Bat*_*eba 5

使用转义\"引号来排列宏可以为您提供

#include <stdio.h>

#define TEST "\"HELLO "
#define TEST2 "WORLD\"\n"

int main(void) {
    printf(TEST TEST2);
}
Run Code Online (Sandbox Code Playgroud)

并产生输出"HELLO WORLD"