c语言return能不能有2个以上返回值

2020-09-17 教育 225阅读

1 return只能返回一个变量,但该变量里是可以包含多个值的,即能满足"有2个以上返回值"的要求

2 方法

  采用数组或结构体等复合数据类型来作为函数的返回值类型

3 示例

#include
#include
//方法1: 返回一个包含两个值的数组
int* fun1(){
int *result = (int*)malloc(2 * sizeof(int));
result[0] = 5;
result[1] = 6;
return result;
}
//方法2: 返回一个包含两个成员的结构体
struct Jiegouti{
int a;
int b;
};
struct Jiegouti fun2(){
return{ 5, 6 };
}
int main(){
int *res1 = fun1();
struct Jiegouti res2 = fun2();
printf("%d %d\n", res1[0], res1[1]);
printf("%d %d\n", res2.a, res2.b);
free(res1);
getchar();
return 0;
}

4 运行结果

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com