如何解释C代码:char * s ="你好" "世界&#34 ;;

时间:2017-04-18 11:43:35

标签: c string-literals

我偶然尝试了以下C代码:

char *str = "hello " "world";

没错,但我无法理解。如何解释这个乐器?

2 个答案:

答案 0 :(得分:0)

根据C标准(5.1.1.2翻译阶段)

  
      
  1. 连接相邻的字符串文字标记。
  2.   

因此,在此转换阶段之后,此代码段

char *str = "hello " "world";

调整为

char *str = "hello world";

结果指针str指向字符串文字"hello world"的第一个字符。

答案 1 :(得分:0)

C标准说这些文字要连接起来。

早期答案中的更多细节: How does concatenation of two string literals work?