用c语言,利用指针计算输入两数的和与差的简单函数
时间: 2024-03-12 11:47:42 浏览: 19
好的,以下是用 C 语言编写的函数,可以通过指针计算输入两数的和与差:
```c
#include <stdio.h>
void sum_diff(int a, int b, int *sum, int *diff) {
*sum = a + b;
*diff = a - b;
}
int main() {
int a, b, sum, diff;
printf("请输入两个整数:");
scanf("%d%d", &a, &b);
sum_diff(a, b, &sum, &diff);
printf("%d 和 %d 的和为 %d,差为 %d\n", a, b, sum, diff);
return 0;
}
```
该函数 `sum_diff` 接受两个整数 `a` 和 `b`,以及两个指针 `sum` 和 `diff`,在函数内部计算 `a` 和 `b` 的和与差,并将结果存储在 `sum` 和 `diff` 所指向的内存地址中。在 `main` 函数中,我们通过调用 `sum_diff` 函数来计算输入两数的和与差,并最终输出结果。
注意,在调用 `sum_diff` 函数时,我们需要将 `sum` 和 `diff` 的地址作为参数传递给函数,以便函数能够修改它们所指向的内存地址中的内容。
相关问题
用c语言利用指针变量求两个数的和。
可以使用指针变量来进行两个数的求和,具体代码如下:
```c
#include <stdio.h>
int main() {
int a, b, sum, *ptr1, *ptr2;
ptr1 = &a;
ptr2 = &b;
printf("Enter two numbers: ");
scanf("%d%d", ptr1, ptr2);
sum = *ptr1 + *ptr2;
printf("Sum = %d", sum);
return 0;
}
```
在上面的代码中,我们首先定义了两个整型变量 `a` 和 `b`,以及它们的指针变量 `ptr1` 和 `ptr2`。然后,我们通过 `scanf()` 函数从控制台输入这两个整数,并将它们的地址分别赋值给 `ptr1` 和 `ptr2`。最后,我们通过指针变量 `ptr1` 和 `ptr2` 访问它们所指向的值,求得它们的和,并将结果存储到 `sum` 变量中,最后输出结果。
用C语言实现利用指针计算2个矩阵的和。(不使用函数且要求自己输入矩阵)
下面是用C语言实现利用指针计算2个矩阵的和的代码:
```c
#include <stdio.h>
#define MAX_ROW 10
#define MAX_COL 10
int main()
{
int row, col;
int mat1[MAX_ROW][MAX_COL], mat2[MAX_ROW][MAX_COL], res[MAX_ROW][MAX_COL];
int *p1, *p2, *pr;
// 输入矩阵1
printf("Enter matrix 1:\n");
for (row = 0; row < MAX_ROW; row++) {
for (col = 0; col < MAX_COL; col++) {
if (scanf("%d", &mat1[row][col]) != 1) {
printf("Invalid input\n");
return 1;
}
}
}
// 输入矩阵2
printf("Enter matrix 2:\n");
for (row = 0; row < MAX_ROW; row++) {
for (col = 0; col < MAX_COL; col++) {
if (scanf("%d", &mat2[row][col]) != 1) {
printf("Invalid input\n");
return 1;
}
}
}
// 计算矩阵和
for (row = 0; row < MAX_ROW; row++) {
for (col = 0; col < MAX_COL; col++) {
p1 = &mat1[row][col];
p2 = &mat2[row][col];
pr = &res[row][col];
*pr = *p1 + *p2;
}
}
// 输出结果
printf("Result:\n");
for (row = 0; row < MAX_ROW; row++) {
for (col = 0; col < MAX_COL; col++) {
printf("%d ", res[row][col]);
}
printf("\n");
}
return 0;
}
```
代码中使用了三个二级指针分别指向矩阵1、矩阵2和结果矩阵的每个元素,然后通过解引用操作计算矩阵和。