【问题标题】:2d array error c++二维数组错误 C++
【发布时间】:2010-09-26 11:43:22
【问题描述】:

我正在尝试运行一个 c++ 2d 数组(非常简单的文件)并且它可以工作,但是最后出现了一个错误(至少我认为这是一个错误)。

数组的代码是;

int myArray[10][10];
for (int i = 0; i <= 9; ++i){

    for (int t = 0; t <=9; ++t){

        myArray[i][t] = i+t; //This will give each element a value

    }

}

for (int i = 0; i <= 9; ++i){

    for (int t = 0; t <=9; ++t){

        cout << myArray[i][t] << "\n";

    }

这会正确打印数组,但会添加

“0x22fbb0”

最后。这是什么?为什么会这样?

【问题讨论】:

  • 这对我来说运行得很好,而且代码看起来很可靠。您使用的是哪个编译器和系统?
  • 您能否创建一个有此错误的完整小程序并将其复制并粘贴到您的问题中?您的程序不完整,逻辑没有问题,也许您之后输出了其他东西?
  • 这个问题与您的另一个问题几乎相同(另一个问题实际上存在错误)。请关闭这个。

标签: c++ multidimensional-array


【解决方案1】:

到目前为止,您显示的代码很好。打印的地址似乎不是从代码的那部分打印出来的。我可以想象两种情况。

  • 您不小心打印了 myArray[i] 或 myArray 并忘记应用其他索引。当数组值转换为其第一个元素的地址时,会导致打印地址。
  • 您不小心像 cout if(cout) { ... } 中的健全状态),这也会导致打印地址。

这可能是完全不同的情况。能把两个循环后出现的代码贴一下吗?

【讨论】:

  • 这对 cout 很有趣
【解决方案2】:

错误不在您发布的代码中。之后你还有其他 cout 吗?

0x22.... 看起来像一个内存地址,所以特别是你可能有一行读取

cout

某处。

【讨论】:

  • 谢谢,我只是错误地将 cout
猜你喜欢
  • 2020-06-15
  • 1970-01-01
  • 2019-08-03
  • 2016-05-07
  • 1970-01-01
  • 1970-01-01
  • 2019-01-28
  • 2012-12-13
  • 2017-02-24
相关资源
最近更新 更多