c/c++语言开发共享‘%’和格式说明符之间的数字在scanf中的含义是什么?

我知道printf()格式说明符中使用的选项,但我对%3d含义完全无能为力,如下面的代码所示。

 scanf("%3d %3d",&num1,&num2); 

一般来说, %format specifier之间的数字在scanf语句中表示什么。

不是scanf()意味着只是接收输入并将其存储在参数中指定的地址中吗?

    你需要查看精美的文档 。

    基本上, %和转换说明符之间的数字表示最大字段宽度。 处理完指定的字符数后,转换将停止。

    这可以方便地将一系列数字“分割”成多个单独的数字,如下所示:

     const char *date = "20130426"; int year, month, day; if(sscanf(date, "%4d %2d %2d", &year, &month, &day) == 3) print("the date is %4d-%02d-%02dn", year, month, day); 

    请注意,格式字符串中的空格与输入中的任何空格序列(包括 )匹配,因此即使输入字符串( date )不包含任何空格,上述内容仍然有效。 在格式字符串中使用空格有助于使其更具可读性。

    为了响应你的stdin注释, sscanf()函数不知道(或关心)它操作的字符串来自哪里,它只是一个字符串。 所以,是的,您可以在从stdin读取的数据,从程序中其他地方创建的文件,通过网络接收的文件或任何其他方式上调用它。

      以上就是c/c++开发分享‘%’和格式说明符之间的数字在scanf中的含义是什么?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/519016.html

      (0)
      上一篇 2020年12月5日
      下一篇 2020年12月5日

      精彩推荐