数据输出
例:
有两个变量:
int i;float x;
i=40; x = 839.21f
-
%d
表示的是十进制整数
-
%x
表示的十六进制整数
-
%o
表示的是八进制整数
-
%u
表示的无符号整数
-
%p
表示输出数据的内存地址
-
%f
表示的定点十进制显示float
什么是定点?什么是浮点?
定点就是小数点的位置是固定的,
浮点就是小数点的位置是不固定的,通常是以(指数形式或者又叫科学计数法的形式)
%d-
---以十进制显示变量i,并且占用的空间最少
%5d
----以十进制显示变量i,同时至少占用5个字符的空间,默认是右对齐,不够的补零。
%-5d
----以十进制显示变量i,通知至少占用5个字符的空间,左对齐方式,不够的右边补零。
%5.3d
---以定点十进制显示变量i,至少占用5个字符的空间,默认右对齐方式,至少有3位有效数字,因此前面补零来保证有效数字的位数。
%-5.3d
----以定点十进制显示变量i,至少占用5个字符的空间,左对齐方式,至少有3位有效数字,因此前面补零来保证有效数字的位数。
- 总结一下:形如
%-m.nd
其中d
表示的是定点十进制,m
表示的最少占用的字符空间,如果不够的话根据对其方式补零。n
表示的是至少有效数字的位数,不够前面补零。负号的有无表示的是对齐方式。没有负号表示的是默认右对齐。有则表示默认左对齐。
%f----以定点十进制显示,并占用最少的字符空间。
%10.3f-----以定点十进制显示,并且总共占用10个字符空间,其中小数点后面保留3位有效数字。(记住小数点也占用一个字符)。
- 这里总结一下,对于
%m.nf
和%m.nd
相比,负号的有无功能是一致的,m
和n
则各有不同,f
结尾的m
表示的总共的字符数,d
结尾的m
表示的是至少的字符数,f
结尾的n
表示的是保留的小数的位数,d
结尾的n
表示的是至少有效数字的位数,经过实际的测试,对于形如%m.nf
的n
的位数最好不要超过m
,经过测试发现在m>n
的情况下,一切正常,当m<n
的时候会发现程序也能输出但是不是预期的结果。同时如果你变量的本身的位数超过了m
也会有问题。
%10.3e
----以指数的形式显示变量x,总共占用10个字符。其他的规则和%m.nf
相似。
网友评论