首页 > 解决方案 > 多维数组打印十六进制数字而不是数组的内容。为什么?

问题描述

...C++.....................
#include <iostream>
using namespace std;

int main() {

int troysArray[3][3] = {
    {3,2,7},
    {4,5,8},
    {1,9,2},
};

int i;
int j;

for (i = 0;i < 3;i++)
    for (j = 0;j < 3;j++){

    cout << troysArray[i] << endl;
    cout << troysArray[j] << endl;
};

return 0;
}
.......................
C++

当我实际尝试打印数组的内容时,为什么上面的代码会打印出十六进制数字。(初学者/刚刚练习)

我做错了什么导致这种情况发生?

标签: c++multidimensional-arrayprintinghex

解决方案


std::ostream <<运算符的最佳重载troysArray[i]void*(利用指针衰减),它输出指针的地址

如果你想要一个元素,请使用troysArray[i][j]&c。


推荐阅读