printf()函数
1、pintf的基本用法
printf()的作用是将参数文本输出到屏幕。print是打印的意思,而f是format(格式化),表示可以定制输出文本的格式。不管是在使用**printf()**时都需要引用头文件。
#include <stdio.h>
int main(void)
{
printf("Hello World!");
return 0;
}
上述命令将会在屏幕上打印"Hello world!"。printf()函数在使用时不会再行尾自动添加换行符,运行结束后,光标就停留在输出结束的地方,不会自动换行。为了让光标移动到下一行开头,可以在输出文本的结尾,添加一个换行符:\n,输出结果如下图
可以明显看到光标已经移到下一行开始。如果文本内有换行,也可以通过插入换行符来实现。如
2、占位符
printf()可以在输出文本中指定占位符。所谓的“占位符”,就是这个位置可以带入其他值代入。如
上述代码中的**%d就是占位符,表示这个位置的值要用其他来代替,占位符的第一个字符一律为%,第二个字符表示占位符的类型,%d表示这里代入的值必须是一个整数。
常用的占位符除了%d**,还有**%s表示代入的是字符串。如
上述代码中,%s表示代入一个字符串,所以printf()的第二个参数就必须是字符串。
在输出文本中可以使用多个占位符。并且printf()参数与占位符是一一对应关系,如果有n个占位符,就要有n+1**个参数。如果参数个数少于对应的占位符,**printf()**可能会输出内存中的任意数。
3、输出格式
(1)限定宽度
printf()允许限定占位符的最小宽度。
如上图中的**%5d就是对占位符宽度的限制,如果不满五位的话,对应值的前面会添加空格。输出的值的默认值是右对齐**,即输出内容前面照常输出。要想改成左对齐,就可以再**%后面插入一个-**号。
此时,空格就在后面。当然要是输出长度多于5个,那么就会照常输出,这里就不演示了。
(2)总是显示正负号
在默认的情况下,printf()不对正数显示+号,只对负数显示-号,如果也想让+号输出,可以在占位符的%后面加上一个+。如图
(3)限定小数位数
输出小数时,有时希望限定小数的位数,可以用**%.mf来表示(m表示想要保留的小数位数)。如
当然它也是可以和限定宽度占位符一块使用
但是在解决实际问题时,有时候需要手动输入最小宽度和小数位数这两个限定值,都可以用 * 代替通过printf()**来进行传参。
(4)输出部分字符串
%s占位符,用来输出字符串,默认是全部输出。如果只想输出开头的部分,则可以使用**%.ms**指定输出的长度。
到此,输出函数大概应该描述的清楚了。因作者水平是在是太有限,有错误希望可以得到指点。