谁能帮我看看这程序怎么一直提醒 非法间接寻址???
#include<iostream>using namespace std;
void main()
{
int fun2(int x,int *t);
int fun(int x,int *r);
int i,j,k,m,n;
int a[10];
int *p=a;
cout<<"请输入成绩:"<<endl;//={2,4,6,8,10,12,14,16,18,20}
for(i=0;i<10;i++)
{
cin>>a[i];
cout<<a[i]<<" "<<endl;
}
cout<<"请输入查找的数:"<<endl;
cin>>m;
fun(m,p);
cout<<"你要查找的数是第"<<i+1<<"个数"<<endl;
cout<<"请输入要删除的数:";
cin>>n;
fun(n,p);
cout<<"你要删除的数是第"<<i+1<<"个数"<<endl;
for(j=i;j<10;j++)
{
a[j]=a[j+1];
}
cout<<"删除后的数组:";
for(i=0;i<10;i++)
{
cout<<a[i]<<" "<<endl;
}
cout<<"请输入添加的数:"<<endl;
cin>>k;
fun2(k,p);
cout<<"你要添加的数是第"<<i<<"个数"<<endl;
for(j=9;j>i;j--)
{
a[j]=a[j-1];
a[i]=k;
}
}
int fun(int x,int &r)
{
int i;
for(i=0;i<10;i++)
{
if(*(r++)==x) break;
}
if(i>=10)
cout<<"查无此数!"<<endl;
else return i;
}
int fun2(int x,int &t)
{
int i;
for(i=0;i<10;i++)
{
if(x<=*(t++)) break;
}
if(i>=9)
cout<<"查无此数!"<<endl;
else return i;
}