首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在哪里可以找到用于组合字符串的C规范?

在哪里可以找到用于组合字符串的C规范?
EN

Stack Overflow用户
提问于 2018-01-14 06:14:50
回答 1查看 72关注 0票数 3

当我阅读Xtable的源代码时,我发现了这样的东西。

代码语言:javascript
运行
复制
pr_info("SRC=" NIP6_FMR "DST=" NIP6_FMR "\n",
        NIP6(iph->saddr), NIP6(iph->daddr));

我想知道为什么将字符串作为组合字符串处理,以及这种影响是由pr_info宏引起的,还是C规范的一部分。因此,我编写了这段代码,并发现它是C规范中定义的行为。

代码语言:javascript
运行
复制
int main(void) {
    char a[] = "aaa" "bb";
    printf("%s\n", a);

    return 0;
}

规范在哪里定义?我不知道如何搜索规范,以及使用什么词来表达这种行为。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-14 06:18:09

来自6.4.5p8的一个例子:-

这对相邻的字符串文本 '\x12'生成一个包含两个字符的单字符字符串文本,其值为、、,因为转义序列在相邻字符串文字级联之前被转换为执行字符集的单个成员。

6.4.5p5中也说明了这一点

在翻译阶段6,由任意相邻字符序列和同前缀字符串字面标记指定的多字节字符序列被串联成单个多字节字符序列

此外,在5.1.1.2“翻译阶段”一节中

  1. 相邻的字符串文字标记被连接起来。

重点雷

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48247140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档