可变打印格式[C]

可变打印格式[C],c,C,我知道 printf("%.10s", "Hello, world!"); 将只打印10个字符。该指令的输出是“Hello,wor”。我想知道是否有一种方法可以让变量控制要打印多少个字符 例如: printf("%.[size]s", "Hello, world!"); 其中[size]是要打印的最大字符数。在问题中发布了此信息,但我也应该结束问题 解决方案 当我问这个问题的时候,我确实找到了答案,但我还是想把它给别人。正确的格式是使用*其中[size]为 int size = 10; p

我知道

printf("%.10s", "Hello, world!"); 
将只打印10个字符。该指令的输出是“Hello,wor”。我想知道是否有一种方法可以让变量控制要打印多少个字符

例如:

printf("%.[size]s", "Hello, world!");

其中[size]是要打印的最大字符数。

在问题中发布了此信息,但我也应该结束问题

解决方案

当我问这个问题的时候,我确实找到了答案,但我还是想把它给别人。正确的格式是使用*其中[size]为

int size = 10;
printf("%.*s\n", size, "Hello, world");

-也许这也会有帮助,作为一个一般性的建议,在学习C时,花时间阅读
printf
scanf
函数系列(详细信息)的手册(或
man
)页面是需要时间的。它们包含许多微妙之处,可以(1)帮助您进行编程,更重要的是(2)帮助您避免一些等待不知情者的陷阱。短时间搜索“printf格式字符串”会更容易。