这个C++程序,错在哪?看不出来,求高手解答?

2024-12-31 11:17:14
推荐回答(4个)
回答1:

没一个 答到最重要的要点,
void App里*pa[i]=1;这个肯定是要改的 *pa[i] 表示指针数组 当然错了;
pa在这里是一个2级指针,又 (*pa)[i]=1表示指针动态申请所指向地址;

if(*pa==NULL) //int *ary=NULL 置为NULL 动态申请根本申请不到当然内存错误
{
cout<<"nothing";
//return ;
}

回答2:

void App(int * * pa,int len)
{
*pa=new int [len];
if(*pa==NULL)
{
cout<<"nothing";
//return ;
}
for (int i=0;i //*pa[i]=1; //这里错了
(*p)[i]=1; //在你不确定优先级的情况下 最好用() 这样既能避免错误 也方便看代码
}

回答3:

#include
using namespace std;
int* App(int n);
int main()
{
int *ary=NULL,*t;
int i,n;
cout<<"n=";
cin>>n;
ary=App( n);
cout<<"t="< for(t=ary;t cout<<*t<<" ";
cout< for(i=0;i ary[i]=10+i;
for(i=0;i cout<
delete[]ary;
ary=NULL;
}
int* App(int len)
{
int *pa=new int [len];
if(*pa==NULL)
{
cout<<"nothing";
//return ;
}
for (int i=0;i pa[i]=1;
return pa;
}

回答4:

你加个#include "stdafx.h";再看看