#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define ROW 2
#define COL 2
int main() {
int arr[ROW][COL] = {{1, 2}, {3, 4}};
// 遍历一个二维数组的三种方式
printf("\n方法1:\n");
// 1. 最简单的
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%d ", arr[i][j]);
}
}
// 2. 借用一个指针,(利用二维数组地址是连续的)
int* p = &arr[0][0];
printf("\n方法2:\n");
for (int i = 0; i < ROW * COL; i++) {
printf("%d ", *(p + i));
}
// 3. 利用数学
// 行数 = i / 列的大小,
// 列数 = i % 列的大小
// i=1,2,...,n
printf("\n方法3:\n");
for (int i = 0; i < ROW * COL; i++) {
printf("%d ", arr[i / COL][i % COL]);
}
return 0;
}
【C语言】二维数组遍历的3种方式
最新推荐文章于 2025-04-08 17:31:33 发布