c语言中 0x%8.8x是什么意思

如题所述

这个用于类似printf这一类函数中的Format 参数,详细的含义可以看一下百科中关于Format参数的语法说明。
你例子中这个语法开始应该在%位置,所以%前面0x这两个字符是直接输出的,真正的format是%8.8x,8.8表示整数位宽度是8位,小数精度是8位,x表示十六进制输出,其中十六进制中的abcdef使用小写字母表示。 但是因为x指接受整数,所以即使你输入小数最后也会自动强转为整数然后以十六进制输出,所以8.8在这里没有意义,直接0x%8x就行了。

参考资料:http://baike.baidu.com/view/410546.htm#5

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-04
在printf中使用的格式说明符
%8.8x 小数点前面的8是最小域宽, 宽度不足8时补空格, 如果是负的%-8x 就左对齐,右边补空格
小数点后面的8在%f中是控制浮点数小数点后的精度, 在整数中是决定显示的最小位数,不足左侧补0
x是输出无符号16进制
比如printf("0x%8.8x",5);输出0x00000005
而不在格式说明符中加控制符: printf("0x%x",5);就输出0x5本回答被提问者采纳
第2个回答  2011-06-04
0x%8.8x常用于格式化输出某一整数。
如:
printf("0x%8.8x", 100);
输出结果是:
0x00000064

解析:
0x直接输出
%是格式化标志
8.8意思是输出字符是8个(少于8个左边补空格),最小输出数字是8个(少于8个左边补0)
x意思是输出16进制数

不知道我说明白没有。

楼主参考。
第3个回答  2011-06-04
16进制输出
8.8的前面一个8是整数部分输出8位,不足前面补0,后面是小数部分输出8位,不足后面补0,如果没有小数则不输出
第4个回答  2011-06-04
错误的写法本回答被网友采纳
相似回答