我刚刚发现了一些非常有趣的东西,这是我的错字引入的。这是一个非常简单的代码脚本示例:
printf("A" "B");
结果将是
$> AB
有人可以解释这是怎么发生的吗?
答案 0 :(得分:7)
作为C标准的一部分,彼此相邻的字符串文字被连接起来:
对于C(引用C99,但C11在6.4.5p5中有相似之处):
(C99,6.4.5p5)“在翻译阶段6,多字节字符 由相邻字符和任何序列指定的序列 带有相同前缀的字符串文字标记连接成一个 单个多字节字符序列。“
C ++有类似的标准。
答案 1 :(得分:2)
这是标准行为,在将很长的字符串常量分割为多行时非常有用。
答案 2 :(得分:1)
这是字符串连接,是C标准的一部分。任何两个或多个连续的字符串文字组合成一个。