您的位置:首页 > 编程语言 > C语言/C++

无限循环陷阱

2013-10-28 00:08 134 查看
问题描述:逆序遍历一个数组

典型错误:

void DeadLoop(int a[], int n)
{
unsigned int i = n;

for(; i >= 0; --i)
{
printf("%i\n", a[i]);
}
}


问题定位:无符号数取值总是非负,所以(i >= 0)恒成立,造成死循环

 

陷阱特征:逆序遍历数组时使用无符号整数作为循环变量

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息