数据类型错误:
- 浮点数 float, double 与 0 作比较时,错误将他们直接和 0 比较,应该使用浮点数精度比较。
- 比如double b = 1.3333; if ( abs(b) > 1e-10) 来判断是否 b 接近 0 值
- 判断字符是否为数字时,误用0, 9来比较;应该使用'0'和'9'
操作错误:
- 删除一个申请空间的指针p,错误使用delete []p,而应该是delete p; delete []p是删除p申请的数组空间
- 在使用fstream定义的变量同时读取二进制文件时,由于向文件中写入数据之后,指针移到末尾,没有移动指针到最开始位置就开始从文件中读数据,导致读取一直为空。
内存错误:
- 在一个循环体将一个临时变量入栈,循环体结束之后,临时变量被释放而栈中地址还在,退栈再次访问该地址成为非法访问。
codeblocks 编译时出现下列等错误
undefined reference to `WSAStartup@8'
undefined reference to `WSACleanup@0'
......
解决方案:project->build options->linker settings,添加wsock32.lib文件,这个文件在VC中有,如果没安装VC可以在网上下载。
(codeblocks 代码自动对齐,使用插件Source code formatter,热键设置:Setting - Editor - Keyboard shortcuts)