我很难理解如何初始化并将 1 添加到 n
二维数组中每个元素的整数。
例如,如果 n = 5
,
arr[5][5] = { {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5} };
我已经尝试过
for (int i = 0; i < sizeof(arr); i++) {
for (int j = 0; j < sizeof(arr[i]); j++) {
product[i][j] += 1;
}
}
最佳答案
这应该给你一个起点:
#include <stdio.h>
#include <stdlib.h>
#define LENGTH 5
int main(int argc, char** argv) {
int arr[LENGTH][LENGTH] = { { 0 } };
for (int i = 0; i < LENGTH; i++) {
fprintf(stderr, "%p contains %d elements\n", (void *) arr[i], (int) sizeof(arr)/sizeof(*arr));
for (int j = 0; j < LENGTH; j++) {
arr[i][j]++;
fprintf(stderr, "%d ", arr[i][j]);
}
fprintf(stderr, "\n");
}
return EXIT_SUCCESS;
}
请注意,您只能执行 sizeof(foo)/sizeof(*foo)
技巧,因为 foo
位于堆栈上。您无法通过指针动态分配内存来执行此操作。
关于c - 初始化二维数组中的 n 个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40199509/