在之前介绍输入输出函数的文章中,有提到格式化输入输出函数都有包含一种特殊的符号——格式符号。
那篇文章中关于格式符号也只是一笔带过,没有进行深入挖掘。本篇文章主要对输出函数(printf)中的一些常用格式符号进行详细补充。
1、介绍
格式占位符 % 加上特定的数字、字母,组成格式符号。
其作用是在字符串中占位,等后面传入的参数来进行替换。
printf 函数中,字符串里如果有格式符号,可变参数列表中就得有相应的参数(变量、常量、表达式等)。
#include<stdio.h>
int main()
{
int a = 3+2;
int c = 5;
printf("有匹配内容:%d\n", a);
printf("无匹配内容:%d\n");
printf("a:%d, b:%d, c:%d\n", a, c)
return 0;
}
如果不提供参数,打印的结果就会出现意料外的数据(随机值)。
且格式字符匹配是按顺序的一个一个填进去。
2、整型
%d 是用来输出十进制的整数,对应的数据类型是 int 。
%u 也是用来输出十进制的整数,对应的数据类型是 unsigned int。和 %d 的区别在于,%d 可以输出负数,%u 只能输出正数。
#include<stdio.h>
int main()
{
int a=32, b=-32;
printf("%%d输出:%d %d", a, b);
printf("%%u输出:%u %u", a, b);
return 0;
}
表示整数的格式符号,还有 %o 和 %x,分别输出 8 进制和 16 进制的整数。
其中 %x 中的 x 如果是小写的,输出结果中的字母也全都是