return()语句不能返回多个值

return不能直接返回多个值,如果你想通过函数内部返回多个值的话,一般有三种方法:

第一种:返回结构体

#include <stdio.h>
//定义一个结构体
typedef struct _a
{
 int a;
 int b;
}A,*PA;

//函数返回结构体变量,它里面就可以包含多个值
PA func()
{
 PA a = new A();
 a->a = 2;
 a->b = 3;
 return a;
}

int main()
{
 PA test = func();
 printf("%d %d\n", test->a, test->b);
 delete test;
 return 0;
}

第二种:以引用方式传递函数参数

#include <stdio.h>
//要以引用方式传递参数,否则,在函数内部改变形式参数的值,
//函数返回之后,参数值依然不变
void func(int& a, int& b)
{
 a = 2;
 b = 3;
}
int main()
{
 int a = 0;
 int b = 0;
 func(a, b);
 printf("%d %d\n", a, b);
 return 0;
}

第三种:以类型指针方式传递函数参数

#include <stdio.h>
void func(int* a, int* b)
{
 *a = 2;
 *b = 3;
}

int main()
{
 int a = 0;
 int b = 0;
 func(&a, &b);
 printf("%d %d\n", a, b);
 return 0;
} 
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容