往期回顾:感兴趣的朋友可以点击了解一下~
---printf()的作用是将参数文本输出到屏幕。名字里的f代表format(格式化),表示可以定制输出文本的格式,需要注意的是printf()不会再行尾自动添加换行符。为了让光标移到下一行的开头,可以再输出文本的结尾,添加一个换行符\n
---所谓占位符就是这个位置可以用其他值代入;占位符的第一个字符都是%,第二个字符表示占位符的类型。比如%d表示这个位置代入的是一个整型,%s表示这个位置代入的是一个字符串。
我们可以通过一串代码来直观的感受一下;

注意:printf()参数与占位符是一一对应关系,如果有n个占位符,printf()的参数就应该有n+1个。
如果参数个数小于对应的占位符,printf()可能会输出内存中的任意值。
这里分享一些常用的占位符:
:


从上图中可以看出,%5d表示这个占位符的宽度至少5位,如果不满5位,对应的值前面会添加空格,默认是右对齐;%-5d就变成左对齐了,会在对应值后面添加空格。如果超过5位,则会直接正常打印所有内容。
除此以外,%12f表示输出的浮点数最少要占据12位,由于小数的默认精度是小数点后六位,所以123.45输出结果的头部会加上两个空格。
---默认情况下,printf()不对正数显示+号,只对负数显示-号,如果想让整数也输出+号,可以在占位符%d前面加一个+号。

由此可以看出,%+d能确保输出的值,总是带有正负号。
---输出小数时,有时我们想要限制小数的位数,比如我想要小数点后保留2位,就可以把占位符写成% .2f,需要保留3位,就写成% .3f, 我们要注意,这里的保留小数也遵循四舍五入的原则。

这样的写法可以跟限定宽度占位符结合起来使用,且有两种使用形式,我们直接通过一个例子来了解一下吧~

图中的两种形式都可以使用。
---%s占位符用来输出字符串,默认是全部输出,如果我们只想输出开头的一部分。可以用%.[m]s来指定输出的长度,其中的m表示一个数字,表示要输出的长度为几。

结语:关于printf的知识分享就到这里了,后续还会更新scanf以及其他c语言知识的分享,感兴趣的朋友们可以关注一下~另外欢迎在评论区中提出自己的观点,让我们一起探讨进步。