输入一批数据,存放在二维数组中,求数组的和,要求使用指针数组实现
时间: 2024-06-10 13:09:45 浏览: 86
指针和数组
以下是使用指针数组实现二维数组求和的代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
int main() {
int data[ROWS][COLS] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int *p[ROWS]; // 声明指针数组
int sum = 0;
// 将指针数组中的元素指向二维数组中的每个一维数组
for (int i = 0; i < ROWS; i++) {
p[i] = data[i];
}
// 计算二维数组中的元素和
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
sum += *(p[i] + j);
}
}
printf("Sum = %d\n", sum);
return 0;
}
```
解析:
1. 声明一个二维数组 `data` 存储数据,数组共有三行四列;
2. 声明一个指针数组 `p`,数组长度为三,每个元素是一个指向整型数组的指针;
3. 使用循环语句将指针数组中的每个元素指向二维数组中的每个一维数组;
4. 使用循环语句遍历二维数组中的所有元素,通过指针数组 `p` 访问每个元素的值并累加到变量 `sum` 中;
5. 输出变量 `sum` 的值。
输出结果为:
```
Sum = 78
```
表示二维数组中所有元素的和为 78。
阅读全文