2. 自定义一个二维数组 3*3,通过指针 + 循环的方式,修改第一行第一列为1,第二行第二列为2,第三行第三列为3。
时间: 2023-09-20 12:11:50 浏览: 91
好的,以下是代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[3][3] = {0}; // 初始化二维数组,全部为0
int *p = &arr[0][0]; // 定义指针p,指向二维数组的首地址
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == j) { // 判断是否为对角线上的元素
*p = i + 1; // 修改对角线上的元素
}
p++; // 指针向后移动一个元素
}
}
// 输出修改后的二维数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输出结果为:
```
1 0 0
0 2 0
0 0 3
```
阅读全文