C语言中的输出格式
C语言中格式字符串一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中[ ]中的为可选项。
类型
表示输出类型的格式字符 | 格式字符意义 |
---|---|
a | 浮点数、十六进制数字和p-计数法(C99) |
A | 浮点数、十六进制数字和p-计数法(C99) |
c | 输出单个字符 |
d | 以十进制形式输出带符号整数(正数不输出符号) |
e | 以指数形式输出单、双精度实数 |
E | 以指数形式输出单、双精度实数 |
f | 以小数形式输出单、双精度实数 |
g | 以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大于等于精度时使用 |
G | 以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大于等于精度时使用 |
xxxxxxxxxx38 1typedef intQElemType;23typedef struct QNode4{5 QElemType data;6 struct QNode *next;7}QNode,*QueuePtr;89typedef struct10{11 QueuePtr front,rear;12}LinkQueue;1314Status EnQueue(LinkQue *Q,QElemType e)15{16 QueuePtr s=(QueuePtr)malloc(sizeof(QNode));17 if(!s)18 exit(OVERLOW); //存储分配失败19 s->data=e;20 s->next=NULL;21 Q->rear->next=s;22 Q->rear=s;23 return OK;24}2526Status DeQueue(LinkQueue *Q,QElemType *e)27{28 Queue p;29 if(Q->front==Q->rear)30 return ERROR;31 P=Q->front->next;32 *e=p->data;33 Q->front->next=p->next;34 if(Q->rear==p)35 Q->rear=Qfront;36 free(p);37 return OK;38}C | 有符号十进制整数(与%d相同) |
o | 以八进制形式输出无符号整数(不输出前缀O) |
p | 指针 |
s | 输出字符串 |
x | 以十六进制形式输出无符号整数(不输出前缀OX) |
X | 以十六进制形式输出无符号整数(不输出前缀OX) |
u | 以十进制形式输出无符号整数 |
标志
标志字符 | 标志意义 |
---|---|
- | 结果左对齐,右边填空格 |
+ | 输出符号( + 或者 - ) |
SPACE | 输出值为正则空格,负为 - |
# | 对c,s,d,u类无影响; 对o类,在输出时加前缀0; 对x类, 在输出时加前缀0x或者0X; 对g,G 类防止尾随0被删除; 对于所有的浮点形式,#保证了即使不跟任何数字,也打印一个小数点字符 |
0 | 对于所有的数字格式,用前导0填充字段宽度,若出现-标志或者指定了精度(对于整数),忽略 |
输出最小宽度
用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
1 |
|
精度
1 |
|
长度
长度格式符 | 含义 | 适用类型 | 示例 |
---|---|---|---|
h |
与整数转换说明符一起使用,表示 short int 或 unsigned short int |
short int , unsigned short int |
%hu , %hx , %6.4hd |
hh |
与整数转换说明符一起使用,表示 signed char 或 unsigned char |
signed char , unsigned char |
%hhu , %hhx , %6.4hhd |
j |
与整数转换说明符一起使用,表示 intmax_t 或 uintmax_t (C99) |
intmax_t , uintmax_t |
%jd , %8jx |
l |
与整数转换说明符一起使用,表示 long int 或 unsigned long int |
long int , unsigned long int |
%ld , %8lu |
ll |
与整数转换说明符一起使用,表示 long long int (C99) |
long long int , unsigned long long int |
%lld , %8llu |
L |
与浮点转换说明符一起使用,表示 long double |
long double |
%Lf , %.4Le |
t |
与整数转换说明符一起使用,表示 ptrdiff_t (指针差值类型,C99) |
ptrdiff_t |
%td , %ti |
z |
与整数转换说明符一起使用,表示 size_t (sizeof 返回类型,C99) |
size_t |
%zd , %zx |
推荐阅读
Comments