代码 | 格式化说明 |
---|---|
%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