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 運行結果