【发布时间】:2016-01-02 19:49:04
【问题描述】:
以下功能:
char **fill(char **array, int *size) {
int i,j;
for ( i = 0; i < *size; i++ ) {
for (j = 0; j < *size; j++ ) {
array[i][j] = '-';
}
}
return array;
}
输入:5
给出输出:
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
如何编辑代码以获得这样的输出:
0 - - - - -
1 - - - - -
2 - - - - -
3 - - - - -
4 - - - - -
"array" 在我的函数中是给定大小 n 的二维字符数组。当我得到 n 的输入时,我试图为 n + 1 个字符而不是 n 分配每一行,并使函数如下所示:
char **fill(char **array, int *size) {
int i,j;
for ( i = 0; i < *size; i++ ) {
array[i][0] = 'i';
for (j = 1; j < ( *size + 1 ); j++ ) {
array[i][j] = '-';
}
}
return array;
}
但它不起作用。
输入:5
输出:
i - - - - -
i - - - - -
i - - - - -
i - - - - -
i - - - - -
【问题讨论】:
-
您没有显示实际定义或打印数组的代码。您在输出中显示在数组设置代码中不明显的空白。但是您可以使用
array[i][0] = i + '0';在数组中设置一个数字。
标签: c arrays function pointers multidimensional-array