一、规则
%x这类格式符固定不能改;变量名、输出文字可以随便改- 头文件必须加
#include <stdio.h>,缺少会报错 - 格式符和后面打印的变量类型必须匹配,乱配会输出乱码
二、常用的格式符
1.整型
| 格式符 | 适用类型 | 作用 | 示例 |
|---|---|---|---|
| int | 十进制整数(最通用) | printf("%d", p->data); |
| long | 长整型数字 | long a=100000; printf("%ld",a); |
| unsigned int | 无符号整数(只存正数) | unsigned int x=99; printf("%u",x); |
| int | 十六进制小写(看内存地址偶尔用) | printf("%x", &a); |
| int | 十六进制大写 | printf("%X", &a); |
2.字符与字符串
| 格式符 | 适用类型 | 作用 | |
|---|---|---|---|
%c | char | 单个字符 | char ch='a'; printf("%c",ch); |
%s | char* 字符数组 | 打印一整串字符串 | char s[]="abc"; printf("%s",s); |
3.浮点数
| 格式符 | 适用类型 | 作用 |
|---|---|---|
%f | float / double | 小数,默认保留 6 位小数 |
%.2f | double | 保留 2 位小数(可修改数字 2) |
4.指针地址
%p:专门打印指针 / 变量的内存地址
int a = 10; int *p = &a; printf("a的地址:%p,指针p的值:%p", &a, p);5.换行、空白固定符号
\n:换行,打印完自动换下一行,几乎每行打印都带\t:制表符,空格对齐输出
三、易错点
int 不能用
%c打印,char 不能用%d混用;打印指针地址必须用
%p,不要用%x;字符串变量直接写数组名,不能加
&:printf("%s", str);不是&str;打印普通变量不用加
&,只有scanf输入才需要&。