有关printf函数的几点注意事项
来源:互联网 发布:淘宝每个月销量清零吗 编辑:程序博客网 时间:2024/04/24 21:03
printf函数
1.在printf函数中精度修饰符‘.’后跟十进制整数。 该修饰符的意义是:如果输出为整数,表示输出的最小位数,若输出数的位数小于该值,将添加前置0,如果输出的为实数,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数(只是针对小数部分),则截去超出的部分。
2. 使用printf函数的“%c”格式字符时,printf函数将只读取指定值的低8位(一个字节)的内容来进行输出,当数据的占用的字节数超过一个字节时,将只输出该数据最低位一个字节的内容。
例如:将数据65355按int变量保存在内存中时,计算机会将该数转换为二进制数,然后将8为二进制为一个单位存入内存区域。为了表示方便,将二进制转换为十六进制,每个字节可保存两位十六进制数。65355转换为十六进制数为FF4B,将该数按int类型存储到内存中,因而其最低位为4B,转换为十进制为75 ,此时若将其按“%c”,输出则为字母K。
3. 输出无符号整型数时,由于计算机保存负数时用补码的方式来存储的。例如:当使用“%u”格式字符输出变量j=-65355时,printf会将其作为无符号数来输出。变量j在内存中的补码为11111111 11111111 00000000 10110101(按int类型4字节保存),其十六进制为FF FF 00 B5,转换为十进制为4 294 901 941,八进制为03 77 77 60 02 65
4.输出字符串:printf函数的格式字符“%s”用于输出字符。
%ms,输出的字符串占m列,如字符本身长度大于m,则突破m的限制,将字符串全部输出。若小于m,则在左侧不空格;
%-ms,如果字符串长度小于m,则在m列范围内,字符串向左对齐,右侧补空格。
%m.ns,输出占m列,但只输出字符串中左侧n个字符。这n个字符输出在m列右侧,左侧补空格。
%- m.ns,其中m、n含义同上,n个字符输出在m列范围的左侧,右侧补空格。如你n>m,则m自动取n值,即保证n个字符正常输出。
5.如果必须在源代码中对字符串拆行,可使用以下三种方法:
第一、使用多个printf语句,分别输出字符串中的各部分;
第二、在拆行的末尾跟上一个斜线(/),表示当前行字符串还未结束,下一行的内容仍然是字符串中的内容;
例如:printf(“使用printf函数输出字符串的例子,/
输出字符串为:%s /n”,str),其中第二行必须顶格输入,否则空格仍然是字符串的一部分;
第三、采用字符串连接的方法,这是ANSIC得新方法。这种方法将两个相邻或仅由空白分隔的、用双引号括起来的字符串作为一个字符串。
例如:printf(“使用printf函数输出字符串的例子,“”
输出字符串为:%s /n”,str)
6.printf函数的返回值:返回打印输出的字符数目(包括‘/0’),若其执行出错,则返回一个负数;
7.理解输出列表:
Printf函数的输出列表可以有多个表达式,其数量至少应与格式字符串中的格式字符数量相匹配。若多个格式字符的数量,多余表达式的值将不会输出;若少于格式字符的数量,则可能输出一些无意义的值。
使用函数printf输出数据时,编译器将传递给函数printf的参数存入一个称为堆栈的内存区域。堆栈中的数据采用“后进先出”的方式,即最后保存的数据将先读出来。因此对于函数printf的参数列表,总是将其参数 从后到前的方法存放到堆栈中。
Printf(“%d %d %f %e”,i,l,f,d)
堆栈
变量i(四个字节)
变量l(四个字节)
变量 f(八个字节,float类型默认按double类型存储)
变量d(八个字节)
- 有关printf函数的几点注意事项
- printf函数的几点说明
- 友元函数的几点注意事项和实例
- 关于使用析构函数的几点注意事项
- 有关eclipse的几点
- 有关调试的几点
- SqlBulkCopy的几点注意事项
- Service的几点注意事项
- scanf和printf的几点想法
- printf函数使用时的注意事项
- printf函数注意事项
- 有关析构函数和构造函数的几点说明
- 有关FreeBSD的几点误区
- 有关FreeBSD的几点误区
- 有关游戏开发的几点体会
- 有关前端开发的几点想法
- 有关FreeBSD的几点误区
- 有关游戏开发的几点体会 .
- Vi: 简易教程
- 从oracle10g 10.2.0.1 升级到10.2.0.4碰到的问题及解决
- 我的CSDN开通了
- 用SSIS将TXT文件按固定长度分列导入SQLServer中
- 请问WIN32编程中的HRESULT类型和LRESULT类型有什么不同呢
- 有关printf函数的几点注意事项
- Visual Studio 2010的并行调试支持
- 表格数据流协议TDS
- SQL Server 2008多版本并发控制
- Struts中DynaActionFormd的使用
- MyEclipse7.5注册
- 中国怎样成为一流国家?
- 细说字体 Sans Serif 与 Serif
- 高房价是政府腐败的标志 两年后房价将下跌40%-50%