zoukankan      html  css  js  c++  java
  • 标准输出scanf函数

    (1) 格式说明符中,可以指定数据的宽度,但不能指定数据的精度。例: 

    1
    2
    3
    float a;
    scanf(“%10f”,&a);  //正确
    scanf(“%10.2f”,&a); //错误

        

    (2) 输入long类型数据时必须使用%ld,输入double数据必须使用%lf或%le。 
    (3) 附加格式说明符”*”使对应的输入数据不赋给相应的变量。 
    scanf()函数所用的转换说明符与printf()所用的几乎完全相同。主要区别在于printf()把%f、%e、%E、%g、%G同时用于float类型和double类型,而scanf()只是把他们用于float类型,而用于double类型时要求使用l(字母l)修饰符。

    转换说明符  
    %c 把输入解释成一个字符
    %d 把输入解释成一个有符号十进制整数
    %e,%f,%g,%a 把输入解释成一个浮点数(%a是C99的标准)
    %E,%F,%G,%A 把输入解释成一个浮点数(%A是C99的标准)
    %i 把输入解释成一个有符号十进制整数
    %o 把输入解释成一个有符号的八进制整数
    %p 把输入解释成一个指针(一个地址)
    %s 把输入解释成一个字符串:输入的内容以第一个非空白字符作为开始,并且包含直到下一个空白字符的全部字符
    %u 把输入解释成一个无符号十进制整数
    %x,%X 把输入解释称一个有符号十六进制整数

    *修饰符在scanf中()的用法:

    *在scanf()中提供截然不同的服务,当把它放在%和说明符字母之间时,它使函数跳过相应的输入项目

    一个容易出错的自由落体计算代码

     1 #include<stdio.h>
     2 
     3 #include<math.h>                    //后面求次方需要用到pow()函数
     4 
     5 int main() {
     6 
     7     double m,n,h,l;                  //pow()函数要求参与数和返回值均为double类型
     8 
     9     while(1) {
    10 
    11         printf("请输入高度:
    ");
    12 
    13         scanf("%lf",&m);           //必须是lf%,%F会出现逻辑错误,输入要严格区分%lf和%f
    14 
    15         printf("请输入次数:
    ");
    16 
    17         scanf("%lf",&n);
    18 
    19         h=m*pow(0.5,n);
    20 
    21         l=m+m*((1-pow(0.5,n))/0.5);
    22 
    23         printf("跳起%.2f 米,总运动长度%.2f 米
    -------------------
    ",h,l); //输出大多数情况下LF%和F%是等同的
    24 
    25     }
    26 
    27     return 0;
    28 
    29 }
    生命的意义在于学习,学习让生活变得精彩
  • 相关阅读:
    利用git上传到码云
    js 数组的方法总结
    什么是浏览器的回流和重绘以及如何减少回流和重绘
    数组的方法some和includes
    node.js中使用http-proxy-middleware请求转发给其它服务器
    什么是BFC
    如何用Github上传项目中的代码
    前端渲染与后端渲染的区别有哪些
    移动端路由的切换
    面试题
  • 原文地址:https://www.cnblogs.com/gougouwang/p/11401403.html
Copyright © 2011-2022 走看看