bug随手记

本文介绍了使用C语言编程时需要注意的一些细节问题,包括如何正确使用printf和fscanf函数,以及在解决问题时采用有效策略的重要性。

C:

1.如果double的变量用%d的格式printf输出,gcc编译器不报警告,而且运行无错误,最后输出会莫名其妙。当发现输出很奇怪时要检查输出格式与变量类型是否吻合。

2.fscanf 和 scanf 函数都是有返回值的,返回值为读到的变量个数。判断一下返回值是有必要的,可避免一些大文件中字符出错,因为大文件很难打开检查是否格式全部正确,所以一旦出错debug的时间会很长。另外,fscanf函数移动文件指针的结果和输入格式设定是相符的,例如输入格式为"%d %d"的话,那么文件指针会指向第二个整数的下一个单元。注意文件的结束符EOF也是占一个单元的,所以用fscanf在判断文件是否结束的时候需要把输入格式定为"****\n",最后的"\n",会保证文件指针指到EOF上,这样在下一个循环中feof(inputFILE)会读到EOF并结束循环。

 

原则:

1.解决问题的时候最优先用最直接的方法,不要贪图一开始就提升效率,否则出现bug的几率和调试过程会变得非常恼人。一些优化问题应该留到功能实现完成后再做改进。

2.流程图是很解决问题的,梳理思路,文档,注释都能借力,所以尽量画一个流程图

3.临时循环变量娶一个长名字不容易糊涂

转载于:https://www.cnblogs.com/daretobe/p/5658993.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值