详解C语言printf()输出格式
目录
C语言printf()输出格式
主要说明格式字符串的基本思想。
格式字符串纲要
[标志] [输出最少宽度] [.精度] [长度] 类型 fcolorbox{#ffae42}{#2E8B57}{ extcolor{White}{[标志];[输出最少宽度];[.精度];[长度];类型}} [标志][输出最少宽度][.精度][长度]类型
🍉🍉因为权重是自右向左,所以先从右侧往左介绍,有时这个很重要,比如字符类型进行修饰总让人很疑惑。
类型
转换说明A备注转换说明B备注%d或%i有符号十进制整数䯝>无符号十进制整数%f浮点数(包括float和doulbe)%e(%E)浮点数[e-(E-)记数法]%g(%G)浮点数不显无意义的零"0",甚至小数点%c字符,实际上是int,可以用%d打印%s字符串%x(%X)十六进制无符号整数%o八进制无符号整数%a(%A)浮点数、十六进制数字和p-(P-)记数法(C99),p代表2,类似于e代表10%p
指针%%百分号自身输出
长度
精度
🍊 采用一段代码说明更实际
//加上F防止隐性转化,因为代码风格中用小写字母l会被误认为数字1,所以统一采用大写的L、F
float PI = 3.1415F;
//先优先精度(.14)这就占了三位,在向左设置显示宽度,没有设置对齐方式,那么默认右侧对齐左侧填充,
//左侧填充没有设置,那么填充空格,所以显示 □□3.14
printf("%6.2f
", PI);
//设置为0会被四舍五入,显示3
printf("%.0f
", PI);
输出最少宽度
//没有设置精度,位数不够左侧填充空格,如果设置为%05d则填充0,如果设置左对齐,也不可能右侧填充0
//如果是字符串填充0是无效的,只填充空格
printf("%5d
", d);
标志
👉👉👉 %#o,%#x这样使用是合理的,如果在e,g,f中使用#,没有设置精度,那么因为数据不同显示可长可短,所以基本作为补充前缀使用。
补充和填充是有区别的, 并不是Excel中格式设置的那些作用。
到此这篇关于C语言printf()输出格式的文章就介绍到这了,更多相关C语言printf()输出内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章: