程序找BUG
来源:互联网 发布:java中如何用api接口 编辑:程序博客网 时间:2024/05/30 23:12
找出下面程序的 BUG
int CopyStringAndCount(char * Str) ①
{
int nCount = 0;
char * pBuffer; ②
pBuffer = new char[MAX_PATH_LENGTH];
③
④
strcpy(pBuffer, Str);
for ( ; pBuffer⑤; pBuffer++ )
if ( pBuffer⑥=='//' ) nCount ++;
⑦
return nCount;
}
【题目解析】
① (const char * Str)
如果在函数体内不需要改变字符串的内容,最好加上 const 以免误修改字符串内容
② char * pBuffer = NULL;
指针声明的时候最好赋初值 NULL
③ if ( !pBuffer ) return -1;
开辟空间之后没有检查是否成功,没有错误检查
④ if ( strlen(Str)>(MAX_PATH_LENGTH-1) ) return -2;
没有检查新开辟的空间能否容纳传进来的字符串,否则有可能越界
⑤ *pBuffer
题中的原意是当到字符串末尾的时候跳出循环,所以应该是取字符串的内容
⑥ 同⑤
⑦ delete pBuffer; pBuffer=NULL;
没有释放新开辟的空间,会造成内存泄漏
- 程序找BUG
- 找Bug
- 找BUG
- 论OD最原始的用途------找程序BUG
- 找bug的体会
- 应用程序找bug
- VC++找Bug
- 通过游戏找BUG
- 自动找bug插件
- 找bug的感悟
- 找bug记
- 找bug记(2)
- 找Bug的历程
- 找程序
- 找了三天的BUG
- 如何找更多的bug
- 使用map文件找bug.
- 通过版本控制找bug
- 软件测试学习笔记——单元测试
- 现在, Delphi 的多线程已经非常易用了!
- WPF 中Menu自定义快捷键
- 全面认识Flex弹出窗口用法
- Win7 下ARP绑定
- 程序找BUG
- c#事务与SQL事务的解释与举例
- C#.NET 怎样连接数据库
- C#.NET 怎样连接数据库
- 多线程程序设计(二)
- GCC默认找头文件策略
- 请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句。
- GwtUpload_Getting Started
- java 内存优化