【问题标题】:No. of strings in format string specifier [duplicate]格式字符串说明符中的字符串数[重复]
【发布时间】:2022-01-25 15:17:06
【问题描述】:

我见过这种在 printf 和 scanf 语句中使用字符串组合的方式。

int a;
printf("Printing" "using" "multiple" "strings" "%d", a);
// The above is just an example, some usage that I saw was for printing specific integer types like int_32
// uint32_t var; printf("Value is %" PRTu32, var);

我一直认为我们只能使用单个字符串作为格式说明符。就像 printf 函数的定义中写的那样,格式似乎只能指向一个字符串。

int printf ( const char * 格式, ... );

所以出于好奇,我尝试了以下代码并成功运行!

char arr[] = "Hello " "World";
printf("%s",arr);      // Output - Hello World

谁能解释一下这种串联是如何工作的,以及正确的做法是什么。任何帮助表示赞赏。

【问题讨论】:

标签: c string io


【解决方案1】:

如果你在两个字符串文字之间有一个空格或没有空格,它会连接字符串文字。

这是 C 的特性之一:这是由 ISO C 标准定义的,相邻的字符串文字会自动组合/连接成一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 2019-05-23
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    相关资源
    最近更新 更多