【发布时间】:2014-06-14 06:50:20
【问题描述】:
我不明白x[i][j] = -i*cols - j ; 到底在做什么。有人可以解释一下,因为我是初学者。我无法理解指针'*'。抱歉英语不好。
int main(int argc, char *argv[]) {
int a[5][5];
readarray(5, 5, a);
printarray(3, 5, a);
return 0;
}
void readarray(int rows, int cols, int x[rows][cols]) {
int i, j;
for (i = 0; i< rows; i++)
for (j = 0; j < cols; j++)
x[i][j] = -i*cols - j ;
}
void printarray(int rows, int cols, int x[rows][cols]) {
int i, j;
for (i = 0; i< rows; i++) {
for (j = 0; j < cols; j++)
printf("%4d", x[i][j]) ;
printf("\n");
}
}
【问题讨论】:
-
i被取反,然后乘以 cols,然后从中减去 j。然后将该结果存储在二维数组中,使用 i 和 j 作为索引
标签: c