c++ - 为什么这是打印内存地址而不是值
问题描述
这是我的司机
int square[2][2] = {
{1,2},
{3,4}
};
matrixMulti(square, 2);
这是我的功能
void matrixMulti(const int a[][2], const int rows) {
int b[2][2];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 2; k++) {
b[i][j] += a[i][k] * a[k][j];
}
}
}
cout << "new matrix " << endl;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << b[i][j] << " ";
}
cout << endl;
}
}
输出是:
new matrix
-858993453 -858993450
-858993445 -858993438
我很困惑为什么它打印内存地址而不是存储在其中的值,以及可以做些什么来让它打印值而不是内存地址。
解决方案
你写了:
int b[2][2];
接着
b[i][j] += ...
你在哪里初始化 b ?
int b[2][2] = {};
或者
int b[2][2] = {0,0};
应该做的工作。
推荐阅读
- javascript - 我如何在反应中一起使用引导程序和自定义 css,即 home.module.css?
- reactjs - 如何设置组件上的状态?
- python - 无法使用 Selenium (python) 访问 HTML 元素
- laravel - _TypeError(类型'_InternalLinkedHashMap
' 不是类型 'String' 的子类型) - r - R多个for循环
- javascript - JS功能只有在点击屏幕后才能正常工作
- postgresql - 如何在postgresql的选择查询中为变量赋值
- facebook - 在 facebook 共享链接上添加带有自定义文本的 html 标签。链接 https://www.facebook.com/sharer.php?quote=CUSTOM_TEXT
- mysql - 为什么我不能正确创建带有外键的表?
- apollo-server - 需要 xxxxxx 类型的参数,但未提供