当前位置: 首页 > news >正文

C语言——格式说明符前面加修饰符

        在C语言中,格式说明符前面可以添加一些修饰符来控制输出或输入的格式,主要包括宽度、精度、左对齐标志和前缀填充字符等。

 1. 宽度(Width)


        %[width]type:这里的width是一个非负整数,表示输出字段的最小宽度。如果实际数据位数小于指定宽度,则会在左边补足空格或者0(根据填充字符决定),以达到指定宽度。

printf("%10d", 5);//将输出“      5”,其中“5”前面有7个空格。


 2. 精度(Precision)


        %.precision[type]:对于浮点数,.precision指定了小数点后的数字位数;对于字符串,它表示输出的最大字符数,超过则截断。

printf("%.2f", 3.14159);//将输出“3.14”。


 3. 左对齐标志(Left-justification)


         - 用于表示左对齐,即在满足宽度要求的情况下,数据靠左显示,不足部分用填充字符填充右侧。

printf("%-10d", 5);//将输出“5      ”,其中“5”后面有7个空格。


 4. 填充字符(Prefix Padding Character)


 • 默认情况下,当需要填充时使用空格作为填充字符。通过在宽度和符号之间插入0,可以指定用0填充。

printf("%010d", 5);//将输出“0000000005”,左侧用0填充至10位。

5、* 在 printf 或 scanf 系列函数的格式化字符串中确实可以用来从参数列表中获取宽度或精度值。

        具体来说,在格式化字符串中的 % 后面跟一个星号 * 以及另一个数字,这个星号不是直接指定宽度或精度,而是指示应该从对应的参数列表中获取实际的数值。

 1. 宽度:宽度由参数动态决定int width = 10;
printf("%*d", width, some_integer_value); // 这里宽度(field width)由变量width提供上述代码将打印出一个整数,其左对齐且至少占据10个字符宽度,不足部分用空格填充。2. 精度:对于浮点数或者字符串(%s)也有类似的情况,但通常用于浮点数的精度控制:int precision = 3;
float value = 3.14159265;
printf("%.3f", value); // 静态指定小数点后3位精度
printf("%.*f", precision, value); // 动态指定小数点后的精度由变量precision提供在第二个 printf 调用中,.* 表示浮点数的精度由 precision 变量提供的值来确定。通过这种方式,在运行时根据需要调整输出格式的宽度或精度,而无需硬编码到格式化字符串中。

 

相关文章:

  • Python算法例33 删除数字
  • 陈述式资源管理(2)
  • 动画墙纸:将视频、网页、游戏、模拟器变成windows墙纸——Lively Wallpaper
  • 阿里云2核2G3M服务器上传速度多少?下载速度快吗?
  • 编程语言的进化:智能化与多样化的未来
  • 机器学习之主成分分析(Principal Component Analysis,PCA)案例解析附代码
  • 深度理解Flutter:有状态Widget与无状态Widget的详细对比
  • 华为ipsec双冗余配置案例
  • 为什么游戏服务端用开发效率低的C++来写,其他语言无法胜任吗?
  • Go语言程序设计-第5章--函数
  • 【Swagger】常用注解的使用、SpringBoot的整合及生产环境下屏蔽Swagger
  • [每周一更]-(第43期):Golang版本的升级历程
  • linux安装anaconda
  • 自定义html5中日期选取器的样式
  • uniapp-H5项目的坑
  • 【个人向】《HTTP图解》阅后小结
  • js
  • Js基础知识(四) - js运行原理与机制
  • LintCode 31. partitionArray 数组划分
  • Linux Process Manage
  • mysql外键的使用
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • SQLServer之创建数据库快照
  • unity如何实现一个固定宽度的orthagraphic相机
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 如何选择开源的机器学习框架?
  • 思维导图—你不知道的JavaScript中卷
  • 提醒我喝水chrome插件开发指南
  • 我的面试准备过程--容器(更新中)
  • 小程序01:wepy框架整合iview webapp UI
  • Java性能优化之JVM GC(垃圾回收机制)
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET Remoting学习笔记(三)信道
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [C/C++]_[初级]_[关于编译时出现有符号-无符号不匹配的警告-sizeof使用注意事项]
  • [C++][基础]1_变量、常量和基本类型
  • [CSS] 点击事件触发的动画
  • [EFI]DELL XPS13 9360电脑 Hackintosh 黑苹果efi引导文件
  • [EFI]MSI GF63 Thin 9SCXR电脑 Hackintosh 黑苹果efi引导文件
  • [HackMyVM]靶场Boxing
  • [iOS]-网络请求总结
  • [Java开发之路](14)反射机制
  • [java刷算法]牛客—剑指offer链表有环的入口、反转链表、合并排序链表
  • [Linux]history 显示命令的运行时间