arrays - C 编程:如何将整数数组打印为二维数组?
问题描述
我有一个整数数组:
int* list = malloc((m*n) * sizeof(int));
变量m
,并且n
是二维数组所需的维度。
我用随机数填充了我的数组并用简单的for (int i = 0; i < lines; i++) printf("%d\n", list[i]);
Which打印了它:
4
5
100
7
9
3
74
1
6
我的问题是如何将数组打印为 2d 数组而不是 1d?
这是我的尝试:
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
printf("%d", list[i]);
}
printf("\n");
}
但这会打印前 n 个数字,如下所示:
444
555
100100100
让阵列的其余部分丢失在某个地方。
解决方案
第一行 ( i = 0
) 应该打印元素0, 1, ... , m-1
。
第二行 ( i = 1
) 应该打印元素m, m+1, ..., 2*m-1
。
第i
行应该打印元素m*i, m*i+1, ... , m*i+m-1
。
因此,您应该打印list[i*m+j]
而不是list[i]
.
此外,您可能希望在同一行中的元素之间添加一些空格。
推荐阅读
- mongodb - Foreach 文件猫鼬
- makefile - g++ 的 Makefile 默认为 /usr/bin/g++
- reactjs - 为什么我不能从传递的值中获取数据?
- javascript - 使用附加子项时的较短方法
- matlab - 我如何 writetable() 此表中的所有嵌套表
- java - springdoc-openapi-ui 与 openapi-generator-maven-plugin 不兼容
- swift - 嵌入 HStack 时 PreferenceKey 不起作用 - SwiftUI
- javascript - 是否有类似“隐式未定义”和“显式未定义”的东西,或者只是 JavaScript 中的魔法?
- github - 获取项目在特定时间内的 github 星数
- python - 如何创建用于将 Java 程序解析为 html 输出的 python