常用格式说明符
%d
:以十进制形式输出整数。%i
:与%d
相同,输出整数。%u
:以十进制形式输出无符号整数。%f
:以小数形式输出浮点数。%e
:以科学计数法输出浮点数。%g
:自动选择%f
或%e
格式,取决于哪个更简洁。%c
:输出单个字符。%s
:输出字符串。%p
:输出指针的值。%x
:以十六进制形式输出整数(小写字母)。%X
:以十六进制形式输出整数(大写字母)。%o
:以八进制形式输出整数。
常用修饰符
-
:左对齐。+
:显示正负号。- (空格):在正数前加空格。
#
:对于%o
,以零开头;对于%x
和%X
,以“0x”或“0X”开头;对于%f
,总是包含小数点。0
:在数字前补零。- 数字:指定最小字段宽度。
.
后跟数字:指定小数点后的位数。
示例程序:
#include <stdio.h>
int main() {
// 定义变量
char ch = 'a';
short sh = 100;
int i = 200;
long l = 1000;
float f = 3.1415;
double d = 2.7182;
unsigned int ui = 500;
char *str = "itheima";
// 格式化输出
// 字符
printf("ch=%c\n", ch);
// 整型
printf("sh=%hd\n", sh);
printf("i=%d\n", i);
printf("l=%ld\n", l);
// 无符号整数
printf("ui=%u\n", ui);
// 八进制和十六进制 可以加上前缀# 自动输出八进制和十六进制0或0x
printf("八进制:%#o\n", 100);
printf("十六进制:%#x\n", 100);
// 字符串类型
printf("str=%s\n", str);
printf("str=itheima\n");
// 内存地址
printf("ch的地址为:%#p\n", &ch);
return 0;
}
运行结果:
ch=a
sh=100
i=200
l=1000
ui=500
八进制:0144
十六进制:0x64
str=itheima
str=itheima
ch的地址为:0x3b78fffbb7