【发布时间】:2013-10-03 11:53:46
【问题描述】:
#include <stdio.h>
int main(void){
printf("%2s\n","Monday"); //output: Monday
getch();
}
上面的代码打印整个星期一。我希望它打印“Mo”。为什么这在 Visual Studio 中不起作用或我编码错误?
【问题讨论】:
#include <stdio.h>
int main(void){
printf("%2s\n","Monday"); //output: Monday
getch();
}
上面的代码打印整个星期一。我希望它打印“Mo”。为什么这在 Visual Studio 中不起作用或我编码错误?
【问题讨论】:
%2s 指定填充,它永远不会缩短字符串。要打印比字符串中的字符少的字符,请将精度指定为%.2s:
printf("%.2s", "Monday"); //output: Mo
另外,请注意getch 不是标准的 C 函数。
【讨论】:
只需将"%2s" 替换为"%.2s"。
printf("%.2s\n","Monday");
【讨论】:
你可以使用
printf("%.2s\n","Monday");
更多信息http://www.cprogramming.com/tutorial/printf-format-strings.html
【讨论】: