1. 写函数,求出两个整型变量的和,并返回,在main中进行测试。 (对于形参的传值,需要用值传递、引用传递、指针传递三种方式;对于返回值,要求返回指针类型)。
时间: 2024-02-18 08:00:36 浏览: 147
好的,以下是实现该功能的代码,分别使用了值传递、引用传递、指针传递三种方式,并要求返回指针类型:
```c
#include <stdio.h>
// 值传递方式
int add1(int num1, int num2) {
int sum = num1 + num2;
return sum;
}
// 引用传递方式
void add2(int num1, int num2, int* sum) {
*sum = num1 + num2;
}
// 指针传递方式
int* add3(int num1, int num2) {
int* sum = (int*)malloc(sizeof(int));
*sum = num1 + num2;
return sum;
}
int main() {
int num1, num2;
printf("请输入两个整数:\n");
scanf("%d %d", &num1, &num2);
// 值传递方式
int result1 = add1(num1, num2);
printf("%d + %d = %d\n", num1, num2, result1);
// 引用传递方式
int result2;
add2(num1, num2, &result2);
printf("%d + %d = %d\n", num1, num2, result2);
// 指针传递方式
int* result3 = add3(num1, num2);
printf("%d + %d = %d\n", num1, num2, *result3);
free(result3);
return 0;
}
```
在上面的代码中,`add1` 函数使用值传递方式,`add2` 函数使用引用传递方式,`add3` 函数使用指针传递方式。`add1` 和 `add2` 函数的返回值类型是 `int`,而 `add3` 函数的返回值类型是 `int*`。在 `main` 函数中,我们分别调用了这三个函数,并输出了它们的返回值。
阅读全文