静态检查工具检查出 NULL == szTest 问题---估计该程序员是被空指针吓怕了
来源:互联网 发布:淘宝售假申诉 编辑:程序博客网 时间:2024/05/16 08:43
下面, 我们先来看一个程序:
#include <iostream>using namespace std;int main(){char szTest[100] = {0};// 一系列操作 ..., ...if(NULL == szTest){// ...return 1;}if(0 == strcmp("", szTest)){// ...return 1;}// 进入正常流程return 0;}
这是某程序员写的一段代码的缩影, 估计是被空指针吓怕了。 编译器当然发现不了什么问题, 后来被更强大的静态检查工具发现了。 我们可以看到, szTest是数组的地址, 怎么能与NULL进行判断呢? 显然肯定不等于NULL啊, 显然, 这个部分的代码是无用的代码, 还会误导人, 也说明该程序员没有搞清楚空串和空指针的区别, 应该改为如下:
#include <iostream>using namespace std;int main(){char szTest[100] = {0};// 一系列操作 ..., ...if(0 == strcmp("", szTest)){// ...return 1;}// 进入正常流程return 0;}
基本的问题, 反映的是基本功底和职业素养。
0 0
- 静态检查工具检查出 NULL == szTest 问题---估计该程序员是被空指针吓怕了
- 为什么程序员讨厌修改静态检查问题
- 写char szTest[1024 * 256] = {0};这种代码的人, 是该反省一下了
- 静态代码检查工具
- cppcheck 静态检查工具
- Python静态检查工具
- Python静态检查工具
- android-点滴记录-检查自己手机是否出了问题
- facebook静态代码检查工具开源了!
- 静态代码检查工具-FindBugs
- 静态代码检查工具-PMD
- 静态代码检查工具 FindBugs
- Lint 静态源码检查工具
- Java静态代码检查工具
- 代码静态检查工具汇总
- Lint 静态源码检查工具
- Klocwork 静态代码检查工具
- 静态代码检查工具 FindBugs
- 堆排序 java版本
- comparable和comparator的区别
- [数学][第二阶段-简单数学题][HDOJ-2071]Max Num
- Pat(Advanced Level)Practice--1089(Insert or Merge )
- 自定义组件<一>
- 静态检查工具检查出 NULL == szTest 问题---估计该程序员是被空指针吓怕了
- OpenGL 学习笔记 -- Mac 上环境搭建
- 如何写好一篇项目需求说明书
- [数学][第二阶段-简单数学题][HDOJ-2075]A|B?
- Halcon PDF文档(hdevelop_users_guide)学习总结之六——Halcon如何导出C++代码
- Pat(Advanced Level)Practice--1090(Highest Price in Supply Chain)
- 系统7×24实现机制汇总
- 基于Spring的可复用的Junit测试类的设计
- 品尝 GNU Prolog (1)