美文网首页
printf与scanf函数

printf与scanf函数

作者: Coder007 | 来源:发表于2016-08-29 17:29 被阅读10次

    printf和scanf的基本使用

    函数printf
    • 输出内容
    int number = 10;
    int value = 20;
    printf("%i %i\n",number, value);
    
    float floatValue = 10.0f;
    printf("%f\n",floatValue);
    
    double doubleView = 12.11;
    printf("%lf\n", doubleView);
    
    char charValue = 'a';
    printf("%c\n", charValue);
    
    • 指定位宽
      • 如何指定位宽?%mi://m表示位宽,i表示数据类型
      • 默认情况下位宽是右对齐,如果需要输出的类型的宽度不够,会在左边补空格
      • 如果在位宽前面加上“-”号,就会改变位宽对齐方式,如果需要输出的类型的宽度不够,会在右边补空格
      • 注意:如果指定了位宽,但是实际输出的内容超出了宽度,会按实际宽度来输出
    int number = 99999;
    printf("%8i***\n",number);
    printf("%-8i**\n",number);
    printf("%2i\n",number);
    
    • 补0
    • 如果输出的内容宽度不够,就会用0来补,如果宽度已经够了,那么会按照实际宽度输出
    int number = 99999;
    printf("%010i***\n",number);
    
    • %f的各种情况
      • 为什么指定保留10位之后还是不对,因为float类型有效的位数是7位
      • 默认情况下输出是保留6位
      • 有效位数是从第一个开始计算
      • 想要输出比较常的实型数据,那么就使用double
    scanf函数
    • 从输入缓冲区中获取用户输入的数据
    • 只要缓冲区有数据,就不要用户输入
    int num1, num2;
    scanf("%i,%i", &num1, &num2);
    
    • 如果输入类型与前面接收类型不一致,那么不会取这个数据,对应的接收变量也不会被修改
    • 空格、回车、tab遇到非char类型会被忽略
    • 输入内容的时候scanf括号中如何写的就要如何输入数据,有标点就要输入标点,有空格就要输入空格

    相关文章

      网友评论

          本文标题:printf与scanf函数

          本文链接:https://www.haomeiwen.com/subject/abzxettx.html