正确的程序,但不能运行应如何修改?
#include<iostream.h>
#include<stdlib.h>
int a[20]={2,0,6,23,41,0,5,6,0,99,33,22,0,12,67,0,9,3,6,23};
int *p,i,j=0;
int **y;
int main()
{
y = (int **)calloc(20,sizeof(int *));
p=&a[0];
for(i=0;i<20;i++)
{
if(*(p+i)!=0)
{
*(y+j)=p+i;
cout<<**(y+j)<<" ";
j++;
}
}
cout<<"\n";
for(i=0;i<=j;i++)
{
if(i>2)
{
while(**(y+i)>**(y+i-1) && **(y+i-1)>**(y+i-2))
{
cout<<**(y+i)<<" ";break;
}
}
}
return 0;
}
运行后没有结果,屏幕显示指令引用的内存不能为"read",请问如何修改?
[ 本帖最后由 yxb0001 于 2009-9-23 15:11 编辑 ]