关于C 语言的字符串常量拼接

问题记录:

C语言中,字符串是否可以通过连续的常量创建直接编辑拼接在一起?

比如下述语句赋值:

const char *path = “this is string one”   “this is string two”;

 //赋值后 *p 指向的字符串等于两个语句拼接后的结果:

*p == “this is string onethis is string two”;

验证:

 1 #include <stdio.h>
 2 
 3 #define AVAGO_FIRMWARE_PATH "/avago/firmware/"
 4 
 5 int main(void)
 6 {
 7     // int phy_id = 0;
 8     // int serdes_mode_line_1 = 0;
 9 
10     const char *path;
11     const char *fw_rev;
12     fw_rev = "0";
13     path = AVAGO_FIRMWARE_PATH "sbus_master/%s/sbus_master.%s_%s.rom" "\n";
14     printf(path,fw_rev,fw_rev,fw_rev);
15 
16     return 0;
17 }

 

 


 

程序运行后结果如下图所示:

三段字符串产量未加任何连接符号,连续存储并将字符串常量地址赋值给了指针path。

posted @ 2019-12-16 21:39  冰白  阅读(1165)  评论(0编辑  收藏  举报