%o 无符号以八进制表示的整数
%g,%G 自动选择合适的表示法
━━━━━━━━━━━━━━━━━━━━━━━━━━
printf 的附加格式说明字符
字符
说明
l
用于长整型数或双精度实型,可加在格式符 d、o、x、u 和 f
前面
m(代表一个正整数)
数据最小输出显示宽度
n(代表一个正整数)
对实数,表示输出 n 位小数;对字符串,表示截取的字
符个数。
-
输出的数字或字符在域内向左靠,即位数不足时右补空
格。
说明:
在输出时,对不同类型的数据要使用不同的格式字符。常用的有以下几种:
(1)d 格式符。用来输出十进制整数。
①
%d。按十进制整型数据的实际长度输出。
②
%md。M 为指定的输出字段宽度。如果数据的位数小于 m,则左端补以空格,若
大于 m,则按实际位数输出。例如:
printf("%4d,%4d",a,b);
若 a=123,b=12345,则输出结果为
_123,12345
③
%ld。输出长整型数据,例如
long a=135790;
printf("%ld",a);
如果用%d 输出,就会发生错误,因为整型数据的取值范围为-32768~32767。对于
long 型数据应当用%ld 格式输出。对长整型数据也可以指定字段宽度,如将上面
printf
“
函数中的 %ld”
“
改为 %8ld”,则输出为
_ _ 135790
一个 int 型数据可以用%d 或%ld 格式输出。
(2)o 格式符。以八进制整数形式输出。由于是将内存单元中的各位的值
(0/1)按八进制形式输出,因此输出的数值不带符号,即将符号位也一起作为八
进制数的一部分输出。例如: