硬编码2D阵列值

hardcoding 2D array values

本文关键字:阵列 2D 编码      更新时间:2023-10-16

试图将值插入2D数组,但输出的不是我的值,而是随机字母

int myArr[8][2] = {700,730,760,790,810,840,910,1000}{0.011,0.035,0.105,0.343,0.789,2.17,20,145};
cout  << myArr << endl;
system("Pause");

我应该如何调整代码,还是更容易使用文本文件并插入?

许多问题:

  • 数组维度错误
  • 嵌套数组没有外部大括号或逗号
  • 您正试图在int数组中存储双精度浮点值
  • 不能将cout用于整个数组

数组声明可能应该是这样的:

double myArr[2][8] = { {700,730,760,790,810,840,910,1000},
                       {0.011,0.035,0.105,0.343,0.789,2.17,20,145} };

为了输出内容,你可以这样做:

for (int i = 0; i < 2; ++i)
{
    for (int j = 0; j < 8; ++j)
    {
        cout << " " << myArr[i][j];
    }
    cout << endl;
}

实时演示

首先,不能仅使用cout << myArr打印整个数组,需要使用for循环迭代数组的元素。

第二,您正试图将十进制值放入一个整数数组中,该数组将截断所有小数。

第三-数组的大小应该是myArr[8][2],而不是myArr[2][8]。我很惊讶你的编译器能让你逃脱惩罚。您可能应该考虑使用不同的编译器。

您需要遍历每一行和每一列,否则您只是打印出数组句柄的指针值。

for (int i=0;i<8;i++){
  for (int j=0;j<2;j++){
    cout << myArr[i][j] << " ";
  }
  cout << endl;
}
system("Pause");