首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++ 指针重新赋值的有关问题

2012-03-05 
c++ 指针重新赋值的问题编译环境 VS2005inti,j,k,b[5],a[5][3]{12,34234,324,534,645,67,6876,789,7809,7

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;
}

热点排行