1
#include <stdio.h>

int main(void){

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

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

4

3 回答 3

6

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

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

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

于 2013-10-03T11:55:46.663 回答
3

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

printf("%.2s\n","Monday"); 
于 2013-10-03T11:56:16.910 回答
2

您可以使用

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

有关这些http://www.cprogramming.com/tutorial/printf-format-strings.html的更多信息

于 2013-10-03T12:03:51.343 回答