gpt4 book ai didi

c++ - 打印出动态数组或矩阵的元素

转载 作者:行者123 更新时间:2023-11-30 02:08:27 26 4
gpt4 key购买 nike

为什么这个打印数组的简单代码不起作用?

void main()
{

cout<<"Simple for\n";
int n;
cout<<"Enter the lenght of array:";
cin>>n;
int* a= new int[n];
for(int j=0; j<n; j++){
a[j]=0;
cout<<setw(8)<<a[j];
//getchar();

}
getchar();
delete[]a;


}

输出很快消失。

当 n 为常量时它起作用,但当 n 来自输入时它不起作用。当 getchar 放入 For 时,它只打印出任意长度的数组的两个元素。

怎么了?

最佳答案

你可能想要这个:

int* a= new int[n];

C++ 不是 C;您不使用 new 分配“字节”;你分配对象。数组、类型等。因此,如果您想要一个类型为 intn 值数组,那么您可以分配它。不需要 sizeof、乘法等

请注意,您使用 new 数组版本分配的任何内容(即:new Type[])都必须使用 delete 数组版本删除:

delete []a;

大小是不必要的;您只需要确保 new[]delete[]

配对

关于c++ - 打印出动态数组或矩阵的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6841475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com