文章目录
1.printf函数的基本用法
2.输出格式
2.1 : 限定宽度
2.2 : 限定⼩数位数
2.3 :输出部分字符串
我们先看看下面的这些代码,来发现它们之间的区别:
printf() 不会在⾏尾⾃动添加换⾏符,运⾏结束后,光标就停留在输出结束的地⽅,不会⾃动换
⾏。
为了让光标移到下⼀⾏的开头,可以在输出⽂本的结尾,添加⼀个换⾏符 \n 。
- 如果⽂本内部有换⾏,也是通过插⼊换⾏符来实现,如下⽅代码
输出格式
限定宽度:
- 首先提醒:printf() 允许限定占位符的最⼩宽度
- 上⾯⽰例中, %5d 表⽰这个占位符的宽度⾄少为5位。如果不满5位,对应的值的前⾯会添加空格。
输出的值默认是右对⻬,即输出内容前⾯会有空格;如果希望改成左对⻬,在输出内容后⾯添加空
格,可以在占位符的 % 的后⾯插⼊⼀个 - 号。
上⾯代码中,输出内容 123 的后⾯添加了空格
- 对于⼩数,这个限定符会限制所有数字的最⼩显⽰宽度
上⾯⽰例中, %12f 表⽰输出的浮点数最少要占据12位。由于⼩数的默认显⽰精度是⼩数点后6位,
所以 123.45 输出结果的头部会添加2个空格。
限定小数位数:
输出⼩数时,有时希望限定⼩数的位数。举例来说,希望⼩数点后⾯只保留两位,占位符可以写成 %.2f
*上⾯⽰例中,如果希望⼩数点后⾯输出3位( 0.500 ),占位符就要写成 %.3f
- 这种写法可以与限定宽度占位符,结合使⽤。
- 上⾯⽰例中, %6.2f 表⽰输出字符串最⼩宽度为6,⼩数位数为2。所以,输出字符串的头部有两个空格
- 最⼩宽度和⼩数位数这两个限定值,都可以⽤ * 代替,通过 printf() 的参数传⼊* 上⾯⽰例中, %*.*f 的两个星号通过 printf() 的两个参数 6 和 2 传⼊
输出部分字符串
- %s 占位符⽤来输出字符串,默认是全部输出。如果只想输出开头的部
- 分,可以⽤ %.[m]s 指定输出
- 的⻓度,其中 [m] 代表⼀个数字,表⽰所要输出的⻓度
*此处的占位符格式为 %.5s 表⽰只输出字符串“hello world”的前5个字符,即“hello”