在C语言中输入二维数组通常有以下几种方法:
1. 使用循环嵌套:
includeint main() {int rows, cols;printf("Enter the number of rows: ");scanf("%d", &rows);printf("Enter the number of columns: ");scanf("%d", &cols);int arr[rows][cols];printf("Enter the elements of the array:\n");for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {scanf("%d", &arr[i][j]);}}printf("The entered array is:\n");for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {printf("%d ", arr[i][j]);}printf("\n");}return 0;}
2. 使用指针:

includeint main() {int rows, cols;printf("Enter the number of rows: ");scanf("%d", &rows);printf("Enter the number of columns: ");scanf("%d", &cols);int *arr = (int *)malloc(rows * cols * sizeof(int));printf("Enter the elements of the array:\n");for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {scanf("%d", &arr[i * cols + j]);}}printf("The entered array is:\n");for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {printf("%d ", arr[i * cols + j]);}printf("\n");}free(arr);return 0;}
3. 使用动态内存分配:
includeincludeint main() {int rows, cols;printf("Enter the number of rows: ");scanf("%d", &rows);printf("Enter the number of columns: ");scanf("%d", &cols);int arr = (int )malloc(rows * sizeof(int *));for (int i = 0; i < rows; i++) {arr[i] = (int *)malloc(cols * sizeof(int));}printf("Enter the elements of the array:\n");for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {scanf("%d", &arr[i][j]);}}printf("The entered array is:\n");for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {printf("%d ", arr[i][j]);}printf("\n");}for (int i = 0; i < rows; i++) {free(arr[i]);}free(arr);return 0;}
4. 使用C++的`vector`容器:
