c语言函数中如何返回多个值
时间: 2024-04-30 18:22:03 浏览: 12
在C语言中,函数只能返回一个值。但是可以使用指针、结构体等方式来实现返回多个值的效果。
1. 使用指针
可以将多个结果存储在指针所指向的内存中,然后通过指针返回这些结果。例如:
```
void func(int a, int b, int *sum, int *diff) {
*sum = a + b;
*diff = a - b;
}
int main() {
int a = 5, b = 3, sum, diff;
func(a, b, &sum, &diff);
printf("sum=%d, diff=%d", sum, diff);
return 0;
}
```
2. 使用结构体
可以定义一个结构体来存储多个结果,然后将这个结构体作为函数的返回值。例如:
```
typedef struct {
int sum;
int diff;
} Result;
Result func(int a, int b) {
Result result;
result.sum = a + b;
result.diff = a - b;
return result;
}
int main() {
int a = 5, b = 3;
Result result = func(a, b);
printf("sum=%d, diff=%d", result.sum, result.diff);
return 0;
}
```
以上两种方式都可以实现返回多个值的效果,具体使用哪种方式取决于具体的情况。