全站数据
8 4 2 0 5 8 1

c语言return几个值

草根金融家 | 简单学习,快乐成才!         
问题更新日期:2024-10-13 03:32:21

问题描述

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 = 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

", res1[0], res1);

printf("%d %d

", res2.a, res2.b);

free(res1);

getchar();

return 0;

}

4 运行结果

其他回答

一般情况下,一个return只能返回一个值。如果您需要一次性返回多个值,那么可以有以下几种办法:

一是如果这些值的数据类型是相同的,那么可以返回包含这些值的数组;

第二种是如果这些值的类型不同,那么您可以定义包含这些数据的结构体struct,然后返回该结构体变量;

第三种是采用输出参数,即把需要返回的数据放在参数表中,以指针或引用类型以便可以将来在调用处得到这些值。希望以上回答可以帮助到您。