2016年11月28日学习总结----printf格式化输出的注意点及应用
2016-11-29 00:55
302 查看
今日学习内容知识汇总:
1、printf输出条件:缓冲区填满或者输出语句中含“\n”或“\r”等。因为要填满缓冲区需要的数据太过庞大,而且要知道缓冲区具体多大需要查看设备信息,一来麻烦而来平时的输出语句中几乎不可能需要输出那么多的数据,所以依靠第一种方法行不通。所以在输出语句中要养成在结尾加上“\n”的习惯。
注:我们在写程序的过程中往往会发现,其实我们有时候输出语句忘了加“\n”,后面接scanf语句的时候,输出语句照样会执行,这样的原因是printf和scanf共用缓冲区,当printf语句执行结束以后虽然没有结束标记但是scanf执行时需要清空缓冲区,因此原本无法输出的内容被清理出来而达到了输出的功能。但是在printf语句后加上结束标记是良好的习惯,应当坚持。
2、应用printf检查段错误:平时我们运行程序是,经常会出现段错误,根本原因是非法使用内存。段错误的特点是编译程序无法检查,即语法上不会出现问题,同时哪一个语句出现段错误,程序就会在哪一个语句上停止执行。因此可以根据这个特点,用printf语句检查段错误。只要在每一行语句下加上不同的语句输出,就可以判断哪一行出现段错误。为了方便快速找到对应段错误行,同时考虑到不同函数函数可能有行数相同,可以在每一行下输入语句printf(“%s:%d\n”,__func__,__LINE__);这样就会输出对应行所在的函数及行数。
1、printf输出条件:缓冲区填满或者输出语句中含“\n”或“\r”等。因为要填满缓冲区需要的数据太过庞大,而且要知道缓冲区具体多大需要查看设备信息,一来麻烦而来平时的输出语句中几乎不可能需要输出那么多的数据,所以依靠第一种方法行不通。所以在输出语句中要养成在结尾加上“\n”的习惯。
注:我们在写程序的过程中往往会发现,其实我们有时候输出语句忘了加“\n”,后面接scanf语句的时候,输出语句照样会执行,这样的原因是printf和scanf共用缓冲区,当printf语句执行结束以后虽然没有结束标记但是scanf执行时需要清空缓冲区,因此原本无法输出的内容被清理出来而达到了输出的功能。但是在printf语句后加上结束标记是良好的习惯,应当坚持。
2、应用printf检查段错误:平时我们运行程序是,经常会出现段错误,根本原因是非法使用内存。段错误的特点是编译程序无法检查,即语法上不会出现问题,同时哪一个语句出现段错误,程序就会在哪一个语句上停止执行。因此可以根据这个特点,用printf语句检查段错误。只要在每一行语句下加上不同的语句输出,就可以判断哪一行出现段错误。为了方便快速找到对应段错误行,同时考虑到不同函数函数可能有行数相同,可以在每一行下输入语句printf(“%s:%d\n”,__func__,__LINE__);这样就会输出对应行所在的函数及行数。
相关文章推荐
- Delphi的学习笔记七——格式化输出函数(总结的很全面)
- 【Shell脚本学习15】shell printf命令:格式化输出语句
- 总结printf格式化输出
- Delphi的学习笔记七——格式化输出函数(总结的很全面)
- shell学习之printf命令格式化输出语句
- 【转】应用 printf 语句格式化输出字符
- 【Shell脚本学习15】shell printf命令:格式化输出语句
- java 格式化输出 printf 总结
- python学习习题总结(8)——简单选择排序,列表解析式使用(格式化输出杨辉三角,九九乘法表)
- Linux之Shell学习(七)Shell echo命令、shell printf命令:格式化输出语句、Shell注释
- Delphi的学习笔记七——格式化输出函数(总结的很全面)
- C语言整数类型及printf格式化输出问题总结复习及进制转换的简单实现
- printf函数格式化输出使用总结
- 应用 printf 语句格式化输出字符
- printf()格式化输出详解
- Date类学习总结(Calendar Date 字符串 相互转换 格式化)
- XML学习笔记(四):格式化输出XML文档
- 关于C语言中的printf()方法格式化输出
- 学习使用BOOST库总结(应用环境 Windows XP + VC6.0)
- JAVA中使用printf(System.out.printf)如何格式化输出数字