【发布时间】:2019-02-18 20:11:03
【问题描述】:
所以我正在用 C 制作一个锯齿状数组。我认为填充数组的代码没问题,我遇到的问题是打印。
代码如下
#include <stdio.h>
int *length;
int **row;
int main(int argc, char *argv[]) {
//make an array that contains the lengths of the columns for each row
length = malloc(argc * sizeof (int));
for (int k = 0; k < argc; k++) {
length[k] = atoi(argv[k]);
// printf("%d ", lengths[k]);
}
row = malloc(argc * sizeof (int));
// fill the columns
int fill = 1;
for (int i = 0; i < argc; i++) {
row[i] = malloc(sizeof (int) * length[i]);
for (int j = 0; j < length[i]; j++)
row[i][j] = fill;
}
//print it
for (int i = 0; i < argc; i++)
for (int j = 0; j < length[i]; j++)
printf("%d", row[i][j]);
return 0;
}
这个程序接受命令行参数,所以如果我输入:
./jagged 1 3 5 1
我应该得到:
1
1 1 1
1 1 1 1 1
1
相反,我的编译器只是说
RUN FAILED
【问题讨论】:
标签: c arrays printf jagged-arrays