首先printf() 是在标准库的头文件 stdio.h 定义的,使用这个函数之前,必须在源码文件头部引入这个头文件。
#include <stdio.h>
一.基本用法
printf() 的作⽤是将参数文本输出到屏幕。它名字里面的 f 代表 format (格式化),表示可以
定制输出文本的格式,该函数的原型如下。
int printf(const char *format, ...);
其中,format是一个格式控制字符串,用于指定输出的格式,而后面的省略号表示可以传入多个参数,用于替换format字符串中的格式化标记。
#include <stdio.h>
int main(void)
{
printf("Hello World\n");
return 0;
}
来个大家都会的用法 ,printf()不会在行尾自动添加换行符,运行结束后,光标就停留在输出结束的地方,不会自动换行,为了让光标移到下⼀⾏的开头,可以在输出⽂本的结尾,添加⼀个换行符 \n 。
二.占位符
不同类型的占位符对应不同类型的变量,上一篇文章里有常用占位符的简述。http://t.csdnimg.cn/6pWWs
以下是一个简单的示例:
#include <stdio.h>
int main()
{
int num = 10;
float f = 3.14;
char str[] = "Hello, World!";
printf("num is %d\n", num);
printf("f is %f\n", f);
printf("str is: %s\n", str);
return 0;
}
输出:num is 10
f is 3.14
str is: Hello, World
三.最小宽度
1. printf() 允许限定占位符的
最小宽度
#include <stdio.h>
int main()
{
printf("%5d\n", 123); // 输出为 " 123"
return 0;
}
程序会输出: 123
若将5替换成-5,则会在其后使用空格补齐不足的宽度,也就是向左对齐。
2. 如果既想要宽度又想输出想要的小数位数该怎么办呢?
#include <stdio.h>
int main()
{
double a = 1.234567
printf("%12.4lf\n", a); // 输出为 " 1.2345"
return 0;
}
其中12是宽度, .4 是保留4位小数。1.2345的宽度是6,所以会在其前面用空格补齐6个宽度。
3. 最小宽度和小数位数这两个限定值,都可以用 * 代替,通过 printf() 的参数传入。
#include <stdio.h>
int main()
{
printf("%*.*f\n", 6, 2, 0.5);
return 0;
}
// 等同于printf("%6.2f\n", 0.5);
四.输出部分字符串
%s 占位符⽤来输出字符串,默认是全部输出。如果只想输出开头的部分,可以用 %.[m]s 指定输出的长度,其中 [m] 代表⼀个数字,表示所要输出的长度。
// 输出 hello
#include <stdio.h>
int main()
{
printf("%.5s\n", "hello world");
return 0;
}
上面示例中,占位符 %.5s 表示只输出字符串“hello world”的前5个字符,即“hello”。
新人卑微求点赞