【问题标题】:printf specifier does not work as expectedprintf 说明符没有按预期工作
【发布时间】:2013-10-03 11:53:46
【问题描述】:
#include <stdio.h>

int main(void){

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

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

【问题讨论】:

    标签: c printf


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        你可以使用

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

        更多信息http://www.cprogramming.com/tutorial/printf-format-strings.html

        【讨论】:

          猜你喜欢
          • 2013-12-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-04-03
          • 2021-10-19
          • 2020-03-18
          • 2012-06-14
          • 2014-11-15
          相关资源
          最近更新 更多