帮我写一个遍历二维数组的c语言程序
时间: 2023-03-28 15:01:11 浏览: 64
当然可以,以下是一个遍历二维数组的C语言程序:
#include <stdio.h>
int main() {
int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int i, j;
for (i = ; i < 3; i++) {
for (j = ; j < 4; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return ;
}
这个程序可以遍历一个3行4列的二维数组,并输出每个元素的值。
相关问题
c语言遍历二维数组
遍历二维数组可以使用嵌套的循环语句。假设我们要遍历一个n行m列的二维数组arr,可以用如下的代码:
```c
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) {
printf("%d ", arr[i][j]); // 打印数组元素
}
printf("\n"); // 换行
}
```
这段代码中,外层循环控制行数,内层循环控制列数,通过两个循环的嵌套,我们可以遍历整个二维数组。在循环体中,我们可以对数组元素进行任何需要的操作。以上代码以打印数组元素为例,实际应用中可以根据需要进行修改。
C语言用指向数组的指针遍历二维数组
可以使用指向数组的指针遍历二维数组。假设有一个二维数组arr,其元素类型为int,可以使用指向int数组的指针进行遍历。
例如,可以定义一个指向int数组的指针p,先让它指向二维数组的第一行,然后逐行遍历整个二维数组。具体实现代码如下:
```
int arr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int (*p)[4] = arr; // 定义一个指向int数组的指针,让它指向二维数组的第一行
for(int i=0; i<3; i++) {
for(int j=0; j<4; j++) {
printf("%d ", *(*(p+i)+j)); // 输出二维数组的元素
}
printf("\n");
}
```
在上面的代码中,`*(*(p+i)+j)`表示访问二维数组arr的第i行第j列对应的元素值。其中,`p+i`表示指针p指向的int数组的第i行,`*(p+i)`表示第i行对应的int数组,`*(p+i)+j`表示第i行中第j个元素的地址,`*(*(p+i)+j)`表示第i行第j列对应的元素值。