C语言自己编写的函数怎么向主函数传回多个值
时间: 2024-03-12 18:47:44 浏览: 90
在C语言中,函数只能返回一个值。但是可以通过指针的方式,在函数中改变指针所指向的变量的值,从而达到向主函数传回多个值的效果。
例如,可以定义一个包含多个变量的结构体,然后将结构体指针作为参数传入函数,函数在执行过程中修改结构体中的变量值,从而实现向主函数返回多个值的目的。
以下是一个示例代码:
```c
#include <stdio.h>
struct Result {
int sum;
int difference;
int product;
};
void calculate(int a, int b, struct Result *result) {
result->sum = a + b;
result->difference = a - b;
result->product = a * b;
}
int main() {
int a = 5, b = 3;
struct Result result;
calculate(a, b, &result);
printf("Sum: %d\n", result.sum);
printf("Difference: %d\n", result.difference);
printf("Product: %d\n", result.product);
return 0;
}
```
在上面的代码中,`calculate`函数接收两个整数和一个指向`Result`结构体的指针。函数通过指针修改结构体中的变量值。在主函数中,我们声明了一个`Result`结构体,然后调用`calculate`函数,将结构体指针传入。最后,我们可以通过结构体中的变量获得函数计算的结果。
阅读全文