当前位置: 首页 > 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 变量提供的值来确定。通过这种方式,在运行时根据需要调整输出格式的宽度或精度,而无需硬编码到格式化字符串中。

 

http://www.lryc.cn/news/271674.html

相关文章:

  • 实验室(检验科)信息系统LIS源码,客户端:WPF+Windows Forms
  • 有道翻译web端 爬虫, js
  • uni-app API接口扩展组件(uni-ui)
  • 信息化和数字化的本质区别是什么?
  • 发表《Nature》!美国研究团队发布可编程逻辑量子处理器
  • CISSP 第1章:实现安全治理的原则和策略
  • 【并发设计模式】聊聊线程本地存储模式如何实现的线程安全
  • 边缘计算网关:重新定义物联网数据处理
  • Linux之下载安装
  • 【HarmonyOS开发】案例-记账本开发
  • webrtc中的接口代理框架
  • 【AIGC-图片生成视频系列-4】DreamTuner:单张图像足以进行主题驱动生成
  • Jupyter Notebook的10个常用扩展介绍
  • uniapp项目如何引用安卓原生aar插件(避坑指南三)
  • YOLOv8改进 | 检测头篇 | ASFF改进YOLOv8检测头(全网首发)
  • 思维训练-怎样设计一个MQ
  • RK3399平台入门到精通系列讲解(导读篇)21天挑战Linux系统开发
  • 企业微信会话存档sdk报错:A fatal error has been detected by the Java Runtime Environment
  • nginx-docker 搭建websocket反向代理
  • blender插件开发
  • 【数据结构】二叉搜索(查找/排序)树
  • Vue:Vue与VueComponent的关系图
  • Elasticsearch8集群部署
  • 【小白专用】c# 如何获取项目的根目录
  • 【PXIE301-208】基于PXIE总线架构的Serial RapidIO总线通讯协议仿真卡
  • 软件测试/测试开发丨Windows系统chromedriver安装与环境变量配置
  • 【vim 学习系列文章 3.1 -- vim 删除 ^M】
  • 深入理解 C# 中的字符串比较:String.CompareTo vs String.Equals
  • DevOps持续交付之容器化CICD流水线
  • Linux/Unix/国产化操作系统常用命令(二)