printf 输出格式
(一)使用printf输出各种格式的字符串
1. 原样输出字符串:
printf(“%s”, str);
2. 输出指定长度的字符串, 超长时不截断, 不足时右对齐:
printf(“%Ns”, str); –N 为指定长度的10进制数值
3. 输出指定长度的字符串, 超长时不截断, 不足时左对齐:
printf(“%-Ns”, str); –N 为指定长度的10进制数值
4. 输出指定长度的字符串, 超长时截断, 不足时右对齐:
printf(“%N.Ms”, str); –N 为最终的字符串输出长度
–M 为从参数字符串中取出的子串长度
5. 输出指定长度的字符串, 超长时截断, 不足时左对齐是:
printf(“%-N.Ms”, str); –N 为最终的字符串输出长度
–M 为从参数字符串中取出的子串长度
%d格式符,用来输出十进制整数.
⑴%d,按整型数据的实际长度输出.
⑵%md,m为指定的输出字段的宽度,数据位数小于m,左边补空格,若大于m,按实际长度输出
⑶%ld,输出长整型数据(long)
%o格式符,以八进制输出整数(不带符号,他将符号位也作为八进制数的一部分了)
⑴%o,参考%d的解释.
⑵%lo,参考%ld的解释.
⑶%mo,参考%md的解释.
%x,X格式符,以十六进制输出整数
也是3种参考%d的解释. 其中X是以大写输出。
%u格式符,用来将unsigned型数据,既无符号数,以十进制形式输出
%c格式符,输出一个字符.
%s格式符,输出一个字符串.
%f格式符,用来输出实数,以小数形式输出.
⑴%f,全部输出,而且输出6位小数.
⑵%m.nf,输出数据共占m列,n位小数,如果数据长度小于m那么左边补空格
⑶%-m.nf,和上面的m.nf相反,为左靠齐,右补空格.
%e,E格式符,以指数形式输出实数
⑴%e,不指定输出数据所占的宽度和数字部分的小数位数.
⑵%m.ne和%-m.ne,这里n指小数部分的位数
%g,G格式符,用来输出实数,它根据数值大小,自动选择f格式还是e格式,(选占宽最少的一种),且不输出无意义的0.这种格式用的不多.
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%o 无符号以八进制表示的整数
%g 自动选择合适的表示法
/n 换行
/f 清屏并换页
/r 回车
/t Tab符
/xhh 表示一个ASCII码用16进表示,
其中hh是1到2个16进制数