c語言中的字符串拼接現(xiàn)象

最近,我看到一個C語言代碼,如下所示:

printf("%s\n", "1234" "qwer");
// output: 1234qwer

snprintf(buffer, sizeof(buffer), "bvcx" "mju");
// buffer data: bvcxmju

說實(shí)話,這對我來說太棒了。在此之前,我不知道字符串可以以"1234" "qwer"格式粘貼。為什么它能跑?然后,我嘗試這個'char a[]=“1234”“qwer',gcc返回一個錯誤!那么,有人能解釋這個現(xiàn)象和理論嗎?

? 最佳回答:

很長一段時間以來,您所看到的一直是C語言語法的一部分。在預(yù)處理和刪除注釋后,可以將字符串文字拆分為多個部分,僅用空格分隔。該語法支持以下功能,例如:

  • 在多行上寫入長字符串文字:
    char message[] = "This is a long message that can be split on "
                     "multiple lines for readability";
    
  • 組合定義為宏的字符串片段:
    printf("The value of i32 is %" PRId32 "\n", i32);
    
  • 分離并置時具有不同含義的字符串內(nèi)容:
    char s1[] = "This is ESC 4: \x1B" "4";
    char s2[] = "so is this: \0334 and this: \33""4";
    char s3[] = "but not this: \334";
    char s4[] = "nor this: \x1B4";
    
  • 組合字符串化宏參數(shù)
主站蜘蛛池模板: 亚洲AV无码一区二区三区DV| 精品一区二区三区波多野结衣| 91亚洲一区二区在线观看不卡| 国模极品一区二区三区| 果冻传媒一区二区天美传媒 | 精品久久国产一区二区三区香蕉| 91视频一区二区三区| 久久4k岛国高清一区二区| 一区在线观看视频| 国产精品成人一区二区三区| 亚洲综合无码一区二区痴汉| 亚洲国产综合精品中文第一区| 国产麻豆精品一区二区三区v视界| 一区二区中文字幕在线观看| 国产在线精品一区二区在线看| 国产成人久久一区二区不卡三区| 人妻无码一区二区不卡无码av| 亚洲国产成人一区二区三区| 国产色综合一区二区三区| 国产在线精品一区免费香蕉| a级午夜毛片免费一区二区| 国产乱码伦精品一区二区三区麻豆| 无码人妻精品一区二区蜜桃百度| 国产伦精品一区三区视频| 美女福利视频一区二区| 色一情一乱一伦一区二区三区日本 | 亚洲AV无码一区二区三区久久精品| 精品无人区一区二区三区| 亚洲一区二区三区高清视频| 亚洲一区欧洲一区| 日韩在线视频一区二区三区| 国产一区二区三区在线观看免费 | 国产韩国精品一区二区三区| 亚洲一区二区三区免费| 久久久人妻精品无码一区| 国产精品视频第一区二区三区| 久久久国产精品一区二区18禁| 亚洲国产日韩在线一区| 日韩精品一区二区三区中文版 | 一区二区三区精品高清视频免费在线播放 | 中文字幕日韩一区二区三区不|