由空格分隔的两个字符串自动连接

时间:2013-04-22 20:10:22

标签: c

我刚刚发现了一些非常有趣的东西,这是我的错字引入的。这是一个非常简单的代码脚本示例:

printf("A" "B");

结果将是

$> AB

有人可以解释这是怎么发生的吗?

3 个答案:

答案 0 :(得分:7)

作为C标准的一部分,彼此相邻的字符串文字被连接起来:

对于C(引用C99,但C11在6.4.5p5中有相似之处):

  

(C99,6.4.5p5)“在翻译阶段6,多字节字符   由相邻字符和任何序列指定的序列   带有相同前缀的字符串文字标记连接成一个   单个多字节字符序列。“

C ++有类似的标准。

答案 1 :(得分:2)

这是标准行为,在将很长的字符串常量分割为多行时非常有用。

答案 2 :(得分:1)

这是字符串连接,是C标准的一部分。任何两个或多个连续的字符串文字组合成一个。