函数原型
int printf ( const char * format, ... );
- 这里的
int
指返回类型是整数,返回值等于其成功打印的字符数 const char*
是个指向字符串的指针,所以我们经常看见printf
的第一个参数带双引号,而这个双引号其实传递的是第一个字符的地址,所以"Hello World!"还可以这样写:
#include <stdio.h>
int main()
{
char ch[] = "Hello World!";
printf(ch);
return 0;
}
- , … );表示可以变化数量的参数列表,用来代替第一个字符串中的占位符,即(
%d
、%f
、%u
等等)
占位符
组成成分:%[标志][宽度][.精度][长度]类型字符(specifier character)
下面介绍四种常见的%类型字符
:
%c
字符型占位符,用于输出单个字符。
printf("%c", 'A');//输出A
%d
十进制整数占位符,用于输出整数
printf("%d", 123);//输出123
%f
浮点数占位符,用于输出浮点数。(.后默认6位)
printf("%f", 3.14);//输出3.140000
%s
字符串占位符,用于输出字符串。
printf("%s", "Hello, World!");//输出Hello, World!
类型字符
:
使用技巧
1.最小宽度
如%5d
表示至少占五个字符的位置,不足补空格
2.对齐
默认右对齐,加负号左对齐,如%-5d
3.精度
%.2f
表示浮点数保留两位小数
4.数字前加0
%05d
表示一个整型如果不足5位,会在前面加0
5.添加符号
%+d
表示一个整型无论正负都会打印符号
6.字符串长度
%.3s
表示只打印字符串前三位
7.上面1、3、6点长度自定义
只需把数字改成*
,再加上对应参数,如:
int a = 2;
printf("%.*f",a ,3.1415);//打印3.14
printf("%.*s",a ,"HaHa");//打印Ha