printf与scanf函数

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括号中如何写的就要如何输入数据,有标点就要输入标点,有空格就要输入空格
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容