问题描述:逆序遍历一个数组
典型错误:
void DeadLoop(int a[], int n)
{
unsigned int i = n;
for(; i >= 0; --i)
{
printf("%i\n", a[i]);
}
}
问题定位:无符号数取值总是非负,所以(i >= 0)恒成立,造成死循环
陷阱特征:逆序遍历数组时使用无符号整数作为循环变量
问题描述:逆序遍历一个数组
典型错误:
void DeadLoop(int a[], int n)
{
unsigned int i = n;
for(; i >= 0; --i)
{
printf("%i\n", a[i]);
}
}
问题定位:无符号数取值总是非负,所以(i >= 0)恒成立,造成死循环
陷阱特征:逆序遍历数组时使用无符号整数作为循环变量