当前位置:   article > 正文

scanf的输入控制:只能控制长度不能控制精度_为什么scanf里面限制小数为什么非法

为什么scanf里面限制小数为什么非法

例如:现在我们键入一个实数,其整数部分为三位,小数部分为两位
scanf("%3.2f",&m) 这种是非法的,scanf只能控制输入数据的长度,
所以可以这样输入scanf("%6f",&m),意为输入一个长度为6的浮点数,换句话说其只能控制输入的宽度。
这个问题可以参考文章:scanf的控制
再看一个例子:
scanf("%5d",&n) printf("%d",n), 如果输入123456 则输出结果为12345
另一个例子:

#include<stdio.h>
int main()
{

    char name[40];


    scanf("%3s",name);
    printf("%s",name);


    return 0;

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

该程序键入hello则输出hel
printf("%10s")时,左补空格来达到限定的字符宽度
【%5s和%-5s 用于指定最小输出宽度,当a中字符宽度大于5,超出部分将 会 仍然输出。。。

%.5s 用于指定最大输出宽度,当a中字符宽度大于5,超出部分将 不会 会输出。。。】

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/二进制舞者/article/detail/62620
推荐阅读
相关标签
  

闽ICP备14008679号