C语言写出自定义一个二维数组 3*3,通过指针 + 循环的方式,修改第一行第一列为1,第二行第二列为2,第三行第三列为3。
时间: 2024-03-04 14:53:49 浏览: 27
好的,我可以帮您解答这个问题。以下是示例代码:
```
#include <stdio.h>
int main() {
int matrix[3][3]; // 定义一个3*3的二维数组
int i, j; // 循环计数器
// 初始化二维数组
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
matrix[i][j] = 0;
}
}
// 修改第一行第一列为1,第二行第二列为2,第三行第三列为3
int *p = &matrix[0][0]; // 定义指针p指向二维数组的第一个元素
*p = 1; // 修改第一行第一列为1
p += 4; // 移动指针到第二行第二列的位置
*p = 2; // 修改第二行第二列为2
p += 4; // 移动指针到第三行第三列的位置
*p = 3; // 修改第三行第三列为3
// 打印二维数组
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
程序的输出结果应该是:
```
1 0 0
0 2 0
0 0 3
```
解释一下代码:
首先定义了一个3*3的二维数组`matrix`,并且初始化为0。接着定义一个指针`p`,指向二维数组的第一个元素,即`matrix[0][0]`。通过移动指针的方式,修改了第一行第一列、第二行第二列和第三行第三列的值。最后通过双重循环打印出二维数组的值。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)