利用指针数组求二维数组各行元素之和

如题所述

以下是利用指针数组求二维数组各行元素之和的代码:
#include <stdio.h>#define ROWS 3#define COLS 4
int main(){ int a[ROWS][COLS] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int sum[ROWS] = {0}; int *p[ROWS]; // 定义指针数组,每个元素都指向一行的首地址

for (int i = 0; i < ROWS; i++)
{
p[i] = a[i]; // 将每行首地址赋值给指针数组的元素
for (int j = 0; j < COLS; j++)
{
sum[i] += *(p[i] + j); // 利用指针计算每行元素和
}
}
for (int i = 0; i < ROWS; i++)
{ printf("第%d行元素之和为:%d\n", i+1, sum[i]);
}
return 0;
大家点点关注,后续有疑问可直接评论区问我,有空的话会给大家整理更详细的信息~

}

输出结果为:
第1行元素之和为:10
第2行元素之和为:26
第3行元素之和为:42
温馨提示:答案为网友推荐,仅供参考
相似回答