c++ 指针重新赋值的问题
编译环境 VS2005
inti,j,k,b[5],a[5][3]={12,34234,324,534,645,67,6876,789,7809,789,2345,679,623,45,5};
int*ap;
for(i=0;i <5;i++)
{
ap=a[i];
b[i]=0;
for(j=0;*ap!=0;ap++,j++)
{
if(b[i] <*ap)
b[i]=*ap;
}
}
上面FOR循环中的ap要在每次循环时重新获取a[i]的首地址,可是现在AP只能获取第一次循环时的地址,后面的就是空地址,何解,
[解决办法]
老兄,你这个循环终止条件有问题啊。
for(j=0;*ap!=0;ap++,j++) //你的数组里面有没有为零的项,那就一直会在内存中搜索0值
//当找到的时候,ap早就超出你的数组范围了
{
if(b[i] <*ap)
b[i]=*ap;
}