注:文章内容来源于网络,真实性有待确认,请自行甄别。
c语言初学者printf("十进制形式a=%d,十六进制形式a=
发表于:2024-10-24 00:00:00浏览:6次
问题描述:printf("十进制形式a=%d,十六进制形式a =%#x\n",aVar,aVar);
%#x\n 是什么意思?
在中,printf函数输出格式字符串的一般形式为: [标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项。
各项的意义介绍如下,供学姐参考:
1、格式符类型和意义如下表所示:
格式字符 格式字符意义
d 以十进制形式输出带符号整数(正数不输出符号)
o 以八进制形式输出无符号整数(不输出前缀O)
x 以十六进制形式输出无符号整数(不输出前缀OX)
u 以十进制形式输出无符号整数
f 以小数形式输出单、双精度实数
e 以指数形式输出单、双精度实数
g 以%f%e中较短的输出宽度输出单、双精度实数
c 输出单个字符
s 输出字符串
2、标志:字符为-、+、#、空格四种,其意义如下:
标志 标志意义
- 结果左对齐,右边填空格
+ 输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号
# 对c,s,d,u类无影响;对o类, 在输出时加前缀o,对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点
3、输出最小宽度:用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出, 若实际位数少于定义的宽度则补以空格或0。
4、精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符, 则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
5、长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。
所以纠正楼上菲菲学妹的一个疏忽,%#不是输出十六进制,x也不是变量aVar的值。%是格式输出指定前导字符,x的作用是指定以十六进制形式输出变量aVar,#的作用是同时输出十六进制的前缀0x,\n是转义字符,回车换行的意思!
猜你喜欢
- SOCKET编程难题急急!!!我用VC++MFC类CSOCKET
- 我用++ MFC类CSOCKET 写了一个点对点大型文件传输的程序,可接收后,只有文本格式的文件能打开,而数据库文件或Excel表格文件都打不开,提示为不可识别的文件格式. 请各位高手帮忙解答,有积分相送....
- 关于VC的编程问题 我用VC++ MFC类CSOCKET写了一个
- 我用++ MFC类CSOCKET写了一个传输大型文件的程序,为何接收后出现文件格式不可识别的错误,只能识别文本格式!!如数据库文件,Excel表格文件都不能打开...请专家帮忙解答,谢谢!!
栏目分类全部>
推荐文章
- 安卓语音短信软件??安卓语音短信软件有哪些?在哪里可以下载呢?
- VB编程问题如何让VB产生一个8位的随机数字穿!大虾教一下,谢谢
- SOCKET编程难题急急!!!我用VC++MFC类CSOCKET
- 关于VC的编程问题 我用VC++ MFC类CSOCKET写了一个
- 请问如何让数据透视表不显示零值行?数据透视表如何不显示零值行,我
- 关于启动的问题冷启动和热起动的具体区别和辨别方法是什么
- vb程序如何打包?有sql数据库ado连接,如何做安装程序,如果
- 关于计算机技术请问计算机技术是包括哪些方面的技术的?望各位能够详
- 提高程序可读性的技巧有哪些?
- 如何学习模式识别对于模式识别个人挺喜欢,但是不知道怎么去学习,大