c - 尝试在矩阵的单元格中添加值时写入无效
问题描述
我正在尝试在矩阵中添加值。对于第一行来说,一切都很顺利。但是,当我尝试访问第二行(如果有的话)时,我得到了无效的写入。
这是我写的不同版本:
- 垫[i][j]
- *(*(mat + i) + j)
- 垫子[i * N + j]
int** matrice(int N, int M){
int **mat = (int **)malloc(N * sizeof(int*));
for(int i = 0; i < N; i++) mat[i] = (int *)malloc(M * sizeof(int));
for (int i = 0; i < N; i++){
for (int j = 0; i < M; j++){
//mat[i][j] = i+j;
}
}
return mat;
}
解决方案
您在用作索引的嵌套for
循环中有一个错误j
,但是,您与i
:
for (int j = 0; i < M; j++)
应该
for (int j = 0; j < M; j++)
推荐阅读
- c# - C# BinaryFormatter.Deserialize 失败并出现异常
- flutter - Flutter - 如何更改 CheckboxListTile 大小?
- ember.js - 如何在 ember.js 中创建记录,同时将所需的数据扔到它的关系中?
- .net - 使用 Azure 自定义域时的 OAuth Url 生成问题
- react-native - 如何在本机反应中定位子组件
- vue.js - 按钮组件不接收 DataTable 道具
- sql - 将行转置为列
- r - R: 添加当前行出现次数为多少的列
- r - R在列表中自动绑定多个df
- google-apps-script - Google Apps 脚本触发器执行太晚