C++-下面这个C函数中的打印参数是什么意思?

发布于 2016-12-26 03:16:38 字数 181 浏览 1275 评论 3

下面这个C函数中的printf函数的打印参数02bx是什么意思?求解释,谢谢!

请输入图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浮生未歇 2017-06-16 17:36:04

首先说明一下printf输出格式控制的完整表达如下:
% - 0 m.n l(h) 格式字符
其中:
1.%:表示格式说明的起始符号,不可缺少。
2.-:有-表示左对齐输出,如省略表示右对齐输出。
3.0:有0表示指定空位填0,如省略表示指定空位不填。
4.m指域宽,即对应的输出项在输出设备上所占的字符数。
5.n指精度。用于说明输出的实型数的小数位数。未指定n时,隐含的精度为n=6位。
6.l(h):l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
7.格式字符,包括:d格式,输出整数;o格式,输出无符号八进制整数;x格式,输出无符号十六进制整数;f格式,输出实数;c格式,输出单个字符等等一些列格式。

楼主所说的应该是应用在单片机C51上面的C语言的printf函数。
在单片机C51上的C语言的printf函数中,对格式字符加入了b(B),文档中对b的解释如下:
The optional characters b or B may immediately precede the type character to respectively specify char types for d, i, u, o, x, and X.
所以b(B)就是单字节输出。

综合起来,“02bx”的意思就是:输出占2位,空位填0,右对齐,输出单字节无符号十六进制整数。

甜柠檬 2017-01-26 22:44:04

02代表输出列宽为2,不足左边补0;
x代表是以无符号的16进制数字格式输出;
b代表的是单字节,bx结合使用表示的是输出单字节的16进制数。

这里有一个参考案例,可以看一下

一个比较完整的解释

归属感 2017-01-16 07:08:22

%后面的02表示的意思是, 输出列宽为2,不足的在左边补0。x意思是以无符号的16进制数字格式输出,并以小写abcdef表示。'b' 就真心不知道什么意思了。
参考文献:http://baike.baidu.com/view/410546.htm

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文