刘某的C语言笔记之C语言的格式化输入输出

这是我在牛客刷题时,遇到的一个格式化输出问题,也就是%n.ms。在自己试验后发现了一些不清楚的小问题以及一些有趣的地方,特此记录,如有错误,欢迎指正。

在C语言中,格式化输入输出函数(如printfscanf)使用格式说明符来控制数据的显示和解析方式。以下是对各个格式说明符的详细解释:

  1. %nd

    • 解释:显示n个字符宽度,不够则补充空格,右对齐。
    • 示例:假设有一个整数 int a = 123;,使用 printf("%5d", a); 将输出  123,其中前两个字符是空格。
  2. %-nd

    • 解释:显示n个字符宽度,不够则补充空格,左对齐。
    • 示例:假设有一个整数 int a = 123;,使用 printf("%-5d", a); 将输出 123 ,其中后两个字符是空格。
  3. %0nd

    • 解释:显示n个字符宽度,不够则补充0,右对齐。
    • 示例:假设有一个整数 int a = 123;,使用 printf("%05d", a); 将输出 00123
  4. %n.mf

    • 解释:显示n个字符宽度(小数点也算一位),不够则补充空格,m表示小数点后几位(四舍五入,不够补0),右对齐。当输入的字符大于n时,n的限制就会被忽略,从而输出所有必要的字符,不会出现截断,但是不影响m。
    • 示例1:假设有一个浮点数 double b1 = 123.456;,使用 printf("%7.2f", b1); 将输出  123.46,其中前一个字符是空格。
    • 示例2:假设有一个浮点数 double b2 = 123.456;,使用 printf("%1.2f", b2); 将输出  123.46,没有空格。
  5. %g

    • 解释:不显示小数点后多余的0。
    • 示例:假设有一个浮点数 double c = 123.456000;,使用 printf("%g", c); 将输出 123.456
  6. %e

    • 解释:以指数形式输出浮点数。
    • 示例:假设有一个浮点数 double d = 12345.6789;,使用 printf("%e", d); 将输出 1.234568e+04
  7. %6.9s

    • 解释:表示显示一个长度不小于6且字符数不大于9的字符串。若大于9, 则第9个字符以后的内容将被删除。
    • 示例:假设有一个字符串 char str[] = "Hello, World!";,使用 printf("%6.9s", str); 将输出 Hello, Wo

这些格式说明符提供了灵活的方式来控制数据的显示格式,使得输出结果更加符合需求。

测试如下:

 结果如下:

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值