| 代码 | 格式化说明 |
|---|---|
%a |
十六进制输出,格式为0xh.hhhhp + d(仅限C99)。 |
%A |
十六进制输出,格式为0Xh.hhhhP + d(仅限C99)。 |
%c |
字符 |
%d |
带符号十进制整数。 |
%i |
带符号十进制整数。 |
%e |
科学记数法(小写e)。 |
%E |
科学记数法(大写E)。 |
%f |
十进制浮点。 |
%g |
使用%e或%f,以较短者为准。 |
%G |
使用%E或%F,以较短者为准。 |
%o |
无符号八进制。 |
%s |
字符串。 |
%u |
无符号十进制整数。 |
%x |
无符号十六进制(小写字母)。 |
%X |
无符号十六进制(大写字母)。 |
%p |
显示指针。 |
%n |
关联的参数必须是指向整数的指针。 |
%% |
打印%符号。 |
可以使用%d或%i以十进制格式显示有符号整数。要输出无符号整数,请使用%u。%f格式限定符以浮点显示数字。 匹配参数必须是double类型。%e和%E限定符告诉printf()以科学计数法显示double参数。以科学记数法表示的数字采用以下一般形式:
x.dddddE+/-yy
要以大写字母显示字母E,请使用%E格式; 否则,请使用%e。可以通过使用%g或%G格式限定符告诉printf()使用%f或%e。 这会导致printf()选择产生最短输出的格式限定符。 如果希望E以大写字母显示,请使用%G; 否则,使用%g。
以下程序演示了%g格式限定符的效果:
#include <stdio.h>
int main(void)
{
double f;
for (f = 1.0; f<1.0e+10; f = f * 10)
printf("%g ", f);
return 0;
}
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/266463.html