找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1794|回复: 20
打印 上一主题 下一主题
收起左侧

C语言一个函数 返回值可以返回 两个吗?

  [复制链接]
跳转到指定楼层
楼主
ID:709761 发表于 2022-2-24 13:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:262 发表于 2022-2-24 16:49 | 只看该作者
不可以,,但是你可以返回数组 然后分解即可
如果想返回多个数组 可以返回一个指向指针的指针
回复

使用道具 举报

板凳
ID:879809 发表于 2022-2-24 17:00 | 只看该作者
只能定义一个结构体,然后返回这个结构体指针了。
回复

使用道具 举报

地板
ID:311903 发表于 2022-2-24 17:57 | 只看该作者
1、返回结构体;
2、返回指针(与结构体同一思想);
3、通过函数参数返回
回复

使用道具 举报

5#
ID:974019 发表于 2022-2-24 19:11 | 只看该作者
通过指针或结构体,定义参数,起到返回多个参数值的效果
回复

使用道具 举报

6#
ID:879809 发表于 2022-2-24 19:26 | 只看该作者
还有一个办法就是学scanf(),参数是指针,可以返回多个值,改变指针指向的地址内容就行了。
回复

使用道具 举报

7#
ID:419909 发表于 2022-2-24 19:51 | 只看该作者
返回多参数的话。一般是用指针。
回复

使用道具 举报

8#
ID:844772 发表于 2022-2-24 20:10 | 只看该作者
要分场合,给计算机写程序,自然用指针数组之类解决多回参数问题;在单片机,要看大小,把几个参数,合并成一个字节或一个字等返回。
回复

使用道具 举报

9#
ID:517951 发表于 2022-2-24 21:00 | 只看该作者
可以返回2个数值, touch panel 的处理函数就是需要返回x,y坐标. 用指针处理就可以返回2个数值了.
回复

使用道具 举报

10#
ID:434018 发表于 2022-2-24 21:34 | 只看该作者
Example:
typedef struct
{
        int a;
        int b;
}Return_TypeDef;


Return_TypeDef Func()
{
        Return_TypeDef ret_value;
        ret_value.a=10;
        ret_value.b=5;
        return ret_value;
}


int main()
{
        Return_TypeDef  ret=Func();
        //you can get retturn value [ret.a =10; and ret.b=5 ]

}
回复

使用道具 举报

11#
ID:1006692 发表于 2022-2-24 21:58 | 只看该作者
“在C语言中,函数只能返回一个值,要返回两个值,可以改换思路,通过其它方式做到。 1 建立数组,返回指针。 在要返回的两个值类型相同时,可以用创建数组的方式,将要返回的值存在数组中,并返回数组首地址,这样就可以实现返回两个值的效果。 需要注意的是,要返回数组首地址,那么返回的值不可以是...
回复

使用道具 举报

12#
ID:135723 发表于 2022-2-25 21:52 | 只看该作者
如果有返回值的话,通过返回结构体指针方式。如果无返回值,通过传入参数返回,可以是数组的指针,或者多个单独变量的指针形式。
回复

使用道具 举报

13#
ID:514901 发表于 2022-2-26 09:07 | 只看该作者
可以返回一个结构体,结构体里面包含多个数据
回复

使用道具 举报

14#
ID:403121 发表于 2022-2-26 10:56 | 只看该作者
不可以
回复

使用道具 举报

15#
ID:434018 发表于 2022-2-26 13:43 | 只看该作者
可以
Example:
typedef struct
{
        int a;
        int b;
        int c;
.....

}Return_TypeDef;
回复

使用道具 举报

16#
ID:554576 发表于 2022-2-26 14:03 | 只看该作者
可以的,定义一个结构体,把你想要的数据存在结构体里,函数返回该结构体即可
回复

使用道具 举报

17#
ID:868003 发表于 2022-3-8 09:51 | 只看该作者
不可以
回复

使用道具 举报

18#
ID:373388 发表于 2022-3-8 12:22 | 只看该作者
准确的说只能返回一个参数,参数类型就是函数类型。需要返回两个,可以用指针,结构体等函数类型
回复

使用道具 举报

19#
ID:1008839 发表于 2022-3-8 12:28 | 只看该作者
就我看不见题?
回复

使用道具 举报

20#
ID:879348 发表于 2022-3-8 13:22 | 只看该作者
返回指针,指向数组
回复

使用道具 举报

21#
ID:1009306 发表于 2022-3-9 19:48 | 只看该作者
不可以,可以定义数组、结构体等,返回一个集合形式,然后再根据需要进行取值
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表