參見下面的例子:爲什麼「foo \ <NEWLINE> bar」在「gcc -E」之後變成「foo bar」?
$ cat foo.c
int main()
{
char *p = "foo\\
bar";
return 0;
}
$ gcc -E foo.c
# 1 "foo.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "foo.c"
int main()
{
char *p = "foo\bar";
return 0;
}
$
從我的理解第二\
由第一\
所以第二\
不應與以下<NEWLINE>
結合逃到形成續行。
如果你想在c-string中換行,你必須使用''\ n''明確插入它。 – LPs
請參閱http://stackoverflow.com/questions/12694838/defining-a-string-over-multiple-lines – pringi