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