printf说明符不能按预期工作

时间:2013-10-03 11:53:47

标签: c printf

#include <stdio.h>

int main(void){

printf("%2s\n","Monday"); //output: Monday
getch();
}

以上代码打印整个星期一。我想要它打印“Mo”。为什么这在Visual Studio中不起作用或我编码错误?

3 个答案:

答案 0 :(得分:6)

%2s指定填充,它永远不会缩短字符串。要打印比字符串中存在的字符少的字符,请将精度指定为%.2s

printf("%.2s", "Monday"); //output: Mo

另请注意,getch不是标准C函数。

答案 1 :(得分:3)

只需将"%2s"替换为"%.2s"

printf("%.2s\n","Monday"); 

答案 2 :(得分:2)

您可以使用

printf("%.2s\n","Monday");

这些http://www.cprogramming.com/tutorial/printf-format-strings.html

的更多信息