c代码部分如下:char c[] = {'J', 'K', 'W'}; printf("%s\n", c); 我不知道为什么它会打印“JKW JKW”而不是“JKW”。难道char c[] = {'J', 'K', 'W'}不等于char c[] = "JKW"吗? 最佳答案 它不相等:你忘记了终止零它出现在“JKW”中,但不在数组初始值设定项中为什么要印两次“JKW”通过不为零终止字符串,您偶然发现了未定义的行为在这一点上,你的代码几乎可以做任何事情。