c语言中通过return语句,函数可以带回一个或一个以上的返回值吗?
时间: 2024-03-27 21:37:43 浏览: 112
C语言中的return
在C语言中,函数只能通过返回一个值来向调用者返回结果,不能直接返回多个值。但是可以通过结构体(struct)来实现返回多个值的效果。
例如,下面的代码定义了一个结构体`Person`,包含了姓名和年龄两个成员,然后在函数`get_person_info()`中返回了一个`Person`类型的结构体,实现了返回多个值的效果:
```c
#include <stdio.h>
#include <string.h>
struct Person {
char name[20];
int age;
};
struct Person get_person_info(int person_id) {
// 查询数据库,获取用户信息
struct Person p;
strcpy(p.name, "张三");
p.age = 18;
return p;
}
int main() {
struct Person p = get_person_info(1001);
printf("姓名:%s,年龄:%d\n", p.name, p.age);
return 0;
}
```
在上面的例子中,`get_person_info()`函数返回了一个`Person`类型的结构体,包含了姓名和年龄两个成员,然后在`main()`函数中使用结构体变量来接收这些返回值。
阅读全文