c语言return几个值?
1 return只能返回一个变量,但该变量里是可以包含多个值的,即能满足"有2个以上返回值"的要求
2 方法
采用数组或结构体等复合数据类型来作为函数的返回值类型
3 示例
#include<stdio.h>
#include<malloc.h>
//方法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 运行结果
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有