gpt4 book ai didi

c - c : "..."". .."中的字符串一个接一个,就好像它们是串联的一样

转载 作者:行者123 更新时间:2023-12-02 04:52:10 24 4
gpt4 key购买 nike

我正在处理一个不是我写的 c 代码,并且有很多这样的 fprintf 调用:

fprintf(file, "blabla1""blabla2%s""blabla3", mystring);

我从未见过我们可以在 fprintf 的第二个参数中放置多个字符串,这是一种连接吗?或者这是 fprintf 的一个特性?如果是这样,fprintf 的规范没有提到它?

最佳答案

这是字符串字面量的特性,相邻的会拼接起来。如果我们看一下 draft C99 standard 6.4.5 字符串文字段落 4 说:

In translation phase 6, the multibyte character sequences specified by any sequence of adjacent character and wide string literal tokens are concatenated into a single multibyte character sequence. If any of the tokens are wide string literal tokens, the resulting multibyte character sequence is treated as a wide string literal; otherwise, it is treated as a character string literal.

正如 Lundin 指出的,可以在 5.1.1.2 部分中找到一个更简单的引用 Translation phases paragraph 6:

Adjacent string literal tokens are concatenated.

关于c - c : "..."". .."中的字符串一个接一个,就好像它们是串联的一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com