c语言中在一个自定义函数中怎么返回两个值?

 我来答
shaojiangood
推荐于2018-07-05 · 知道合伙人教育行家
shaojiangood
知道合伙人教育行家
采纳数:7284 获赞数:161762
工学硕士,从事机械行业,擅长英语,爱好历史。

向TA提问 私信TA
展开全部
方法一:设置全局变量,这样在形参中改变全局变量,在实参中也会有效。所以可以在形参中改变多个全局变量的值,那么在实参中就相当于返回多个值。
方法二:如果用数组名作为形参,那么改变数组内容,比如排序,或者进行加减运算,回到实参时依然是有效的。这样也会返回一组值。
方法三:可以利用指针变量,这个原理和方法二是一样的,因为数组名本身就是数组首元素的地址。就不多说了。 用结构体封装不同类型数据,或者用数组表示同类型数据,然后返回结构体指针或者数组名,本质都是用指针来返回多个参数
方法四:如果学过C++,可以引用参数
百度网友dcf4b30
推荐于2018-02-27 · 超过20用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:36.9万
展开全部
传入指针参数

比如

int fun(int * p1, int * p2);

调用时,

int a, b;
fun(&a, &b);

在fun中修改p1,p2指针对应的变量,a, b的值就会改变
追问
再问一下;怎么输出啊!用return吗?怎么用啊!
追答
假设:

int fun(int * p1, int * p2)

{
p1 = 2;

p2 = 3;

}

调用时:

int a, b;
fun(&a, &b);
printf("a=%d,b=%d\n", a, b);

输出结果就是

a=2,b=3
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式