C++如何创建动态二维数组,然后将二维数组的数保存到一维数组中?

//此程序是我自己编的,但是不能通过,请问这是怎么回事?

#include
using namespace std;
int main()
{
int n,m,k,i,j,l;
cin>>n>>m>>k;
int X[][]={0};
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
X[i][j]=i*j;
}

    int Y[]={0};
for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
    {
        Y[n*m]=X[i][j];
    }
for(l=0;l<n*m;l++)
    cout<<"Y数组中的元素为:"<<Y[l]<<endl;
//system("pause");
return 0;

}

1个回答

int X[][]={0};这样用不行,至少也需要指定一维的长度
而且你这样直接写入也不行,越界写入,需要先分配空间,可以用new或者malloc

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐