用C语言实现利用指针计算2个矩阵的和。(不使用函数)
时间: 2024-05-07 20:19:36 浏览: 13
以下是用指针计算两个矩阵和的C代码示例:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
int main() {
int m1[ROWS][COLS] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
int m2[ROWS][COLS] = {{9, 8, 7},
{6, 5, 4},
{3, 2, 1}};
int sum[ROWS][COLS];
int i, j;
int *ptr1 = &m1[0][0];
int *ptr2 = &m2[0][0];
int *ptr_sum = &sum[0][0];
// 计算和
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
*(ptr_sum + i * COLS + j) = *(ptr1 + i * COLS + j) + *(ptr2 + i * COLS + j);
}
}
// 输出结果
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", sum[i][j]);
}
printf("\n");
}
return 0;
}
```
这段代码定义了两个3x3的矩阵`m1`和`m2`,以及一个用于存储和的矩阵`sum`。然后,它将每个矩阵的第一个元素的指针`ptr1`和`ptr2`分别指向`m1`和`m2`的第一个元素,将`ptr_sum`指向`sum`的第一个元素。接下来,使用两个嵌套的循环来计算和,并将结果存储在`sum`中。最后,输出结果。