c语言函数怎么返回多个值
时间: 2024-05-13 10:13:51 浏览: 11
在C语言中,函数只能返回一个值,但可以通过以下几种方式来实现返回多个值:
1. 通过结构体返回多个值:
```
typedef struct {
int a;
float b;
double c;
} Result;
Result foo() {
Result result = {1, 2.0, 3.0};
return result;
}
int main() {
Result result = foo();
printf("%d %f %lf\n", result.a, result.b, result.c);
return 0;
}
```
2. 通过指针参数返回多个值:
```
void foo(int *a, float *b, double *c) {
*a = 1;
*b = 2.0;
*c = 3.0;
}
int main() {
int a;
float b;
double c;
foo(&a, &b, &c);
printf("%d %f %lf\n", a, b, c);
return 0;
}
```
3. 通过数组返回多个值:
```
void foo(int *a, float *b, double *c) {
a[0] = 1;
b[0] = 2.0;
c[0] = 3.0;
}
int main() {
int a[1];
float b[1];
double c[1];
foo(a, b, c);
printf("%d %f %lf\n", a[0], b[0], c[0]);
return 0;
}
```