C 语言 - printf 解析
printf 是什么
- 它的全名是 “print formatted”,意思是格式化输出,也就是把内容按指定的格式打印到程序运行时的控制台窗口上。
简单的例子
printf("你好,世界!");
- 
运行后程序运行时的控制台窗口会输出: 你好,世界!
打印变量
int age = 18;
printf("我今年%d岁", age);
//"我今年%d岁" 是格式字符串
//%d 是一个“占位符”(告诉 printf 这里要放一个整数)
//age 是要放进去的值
- 
输出结果: 我今年18岁 //age 放进去 %d,替换成 18
- 
输出占位符:C 语言 - 常见占位符(格式符)](https://www.cnblogs.com/ajunjava/p/19134437) 
多个值一起输出
- 
举例: int a = 3, b = 5; printf("a=%d, b=%d\n", a, b); // '\n' 表示换行,相当于“按一下回车”- 
输出结果: a=3, b=5
 
- 
多参数
- 
在 C 语言中, printf允许多参数打印:printf("格式字符串", 参数1, 参数2, 参数3, ...); //前面的引号里是“说明书”(格式) //后面的一堆参数是要“填进去的答案”
- 
举个例子: int a = 5; float b = 3.14; char c = 'A'; printf("a=%d, b=%.2f, c=%c\n", a, b, c); //"a=%d, b=%.2f, c=%c\n" 是格式字符串 //%d → 整数 | %.2f → 小数点后保留2位的小数 | %c → 字符 | \n → 换行 //a, b, c 是对应的变量,按顺序一一匹配:第1个 %d → a、第2个 %.2f → b、第3个 %c → c- 
输出结果: a=5, b=3.14, c=A
 
- 
- 
注意事项:顺序很重要!格式符和参数必须一一对应,顺序不能乱 - 
错误例子: printf("%d %d", x); //这里只有一个参数,格式却要两个 → 会出错或输出乱七八糟的值
- 
正确例子: int year = 2025; int month = 10; int day = 11; printf("今天是%d年%d月%d日\n", year, month, day);- 
输出结果: 今天是2025年10月11日
 
- 
 
- 
格式控制
- 
格式结构: %[标志][最小长度][.精度][长度修饰符]类型 //可以理解为“打印说明书”,每个部分都有作用。不用必须叠加全部参数- 
%→ 开始打印:每个格式说明符都必须以%开头,就像一个信号:“我要开始填东西了”printf("%d", 42); // %d 就是开始打印整数
- 
[标志]→ 打印的额外修饰:标志 作用 示例 -左对齐(默认右对齐) %-5d+正数加 +号%+d0不够长度左边补0 %05d#八进制/十六进制加前缀 %#xprintf("%+5d\n", 42); // 输出: " +42" printf("%05d\n", 42); // 输出: "00042"
- 
[最小长度]→ 占几格:数字表示至少占几格,如果实际内容短,不够就补空格(或补0,前提是加了0)printf("%5d\n", 42); // 输出: " 42"(前面补3个空格) printf("%05d\n", 42); // 输出: "00042"(前面补3个0),加0只适用右对齐 printf("%-5dend\n", 42); // 输出: "42 end"(左对齐)
- 
[.精度]→ 精确控制内容长度:对 浮点数 → 小数点后保留几位,对 字符串 → 最多输出几个字符printf("%.2f\n", 3.14159); // 输出: 3.14 printf("%.3s\n", "computer"); // 输出: com
- 
[长度修饰符]→ 指定数据类型长度(可选):l→ long,ll→ long long,h→ short。一般初学者可以先忽略,除非处理不同长度的整数long x = 1234567890; printf("%ld\n", x); // 打印 long 类型整数
 
- 
- 
例子: printf("%s , %5.3s\n", "computer", "computer"); // 第一个 %s → 直接输出整个字符串 // 第二个 %5.3s → 有“格式控制”的字符串输出:%[最小长度].[最大字符数]s- 
最小长度(5):输出的最小长度(不够则补空格)>>> 总长度至少 5个位置,不够则在前面补空格 
- 
最大字符数(.3):最多只输出前3个字符 >>> 只取前 3 个 → "com"
- 
输出结果: computer , com
 
- 
总结
- printf是用来把文字或变量按格式输出到程序运行时的控制台窗口的函数
- printf可以一次输出多个值,只要格式符和参数数量、顺序一一对应
- printf 格式控制的- %[标志][最小宽度][.精度][长度修饰符]类型就是 告诉 printf 你要打印什么、占几格、保留几位小数、对齐方式和数据类型 的说明书
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号