【发布时间】:2014-07-17 12:53:13
【问题描述】:
我在 C 中有以下代码:
#include<stdio.h>
void main(){
printf("a" "b" "c");
}
它输出:
abc
谁能解释一下原因?
我猜它是"a" "b" "c" 预处理为"abc"。我是对的还是其他原因?
【问题讨论】:
-
5.1.1.2 翻译阶段 6 连接相邻的字符串文字标记。
-
+1 这是一个很好的问题,除非你知道它可能很难弄清楚的术语。
-
@ShafikYaghmour 我可以谦虚地请求,既然这个问题有一个更好的标题,而且答案也稍微详细一点,那么它保持开放吗?如果它已关闭,那么搜索问题的人将找不到它,并且他们可能不会查看标题为“是否存在语法错误?”的内容。
-
@MattMcNabb 这是一个很好的观点,我改写了问题和标题,所以现在应该更好了。
-
@MattMcNabb:即使它被标记为重复,人们仍然可以搜索它,没有必要分割 IMO 的所有内容(这就是我们拥有重复系统的原因)。它们显示为“重复”而不是“关闭”是有原因的。
标签: c