OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3653|回复: 11

定义了两个变量,怎么让函数返回两个变量呢?

[复制链接]

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
发表于 2022-4-22 15:59:36 | 显示全部楼层 |阅读模式
1金钱
是这样的,我在函数里定义了两个变量,这两个变量需要在函数中被赋值,最后返回这两个变量。应该怎么做呀

最佳答案

查看完整内容[请看2#楼]

指针了解一下 void test( char *p1,char *p2) { *p1=1; *p2=2; } char a,b; test(&a,&b);
慎独
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8204
金钱
8204
注册时间
2020-5-11
在线时间
3697 小时
发表于 2022-4-22 15:59:37 | 显示全部楼层
指针了解一下
void test( char *p1,char *p2)
{
*p1=1;
*p2=2;
}

char a,b;
test(&a,&b);
专治疑难杂症
回复

使用道具 举报

0

主题

465

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1732
金钱
1732
注册时间
2021-4-11
在线时间
320 小时
发表于 2022-4-22 16:38:50 | 显示全部楼层
可以使用return返回一个变量的值,两个变量返回不了,局部变量在函数运行完就会被销毁了的
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-4-22 16:40:27 | 显示全部楼层
huanan 发表于 2022-4-22 16:38
可以使用return返回一个变量的值,两个变量返回不了,局部变量在函数运行完就会被销毁了的

听君一席话,如听一席话。
慎独
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-4-22 17:12:10 | 显示全部楼层
LcwSwust 发表于 2022-4-22 15:59
指针了解一下
void test( char *p1,char *p2)
{

感谢,我用了数组
慎独
回复

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3329
金钱
3329
注册时间
2011-11-10
在线时间
207 小时
发表于 2022-4-22 18:19:11 | 显示全部楼层
返回变量不一定要用函数return返回值,也可以使用函数的参数。很多时候,一些复杂的程序里都是return一个状态,真正的返回数据内容是依靠函数参数的,比如你设置2个全局变量作为函数参数返回即可。return的值可以判断该数据是否有误。
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-4-22 18:29:22 | 显示全部楼层
c2007s 发表于 2022-4-22 18:19
返回变量不一定要用函数return返回值,也可以使用函数的参数。很多时候,一些复杂的程序里都是return一个状 ...

感谢,已经使用数组作为返回值
慎独
回复

使用道具 举报

10

主题

213

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5607
金钱
5607
注册时间
2016-12-19
在线时间
724 小时
发表于 2022-4-24 13:44:42 | 显示全部楼层
结构了解一下
回复

使用道具 举报

9

主题

57

帖子

0

精华

高级会员

Rank: 4

积分
929
金钱
929
注册时间
2020-1-6
在线时间
121 小时
发表于 2022-4-24 15:45:45 | 显示全部楼层
char Test (char *p1, char *p2)
{
******;
p1=***;
p2=***;
******;
return Status;//用于查看返回是否正确

}

state =Test (需要的第一个变量,需要的第二个变量);
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-5-4 21:34:33 | 显示全部楼层
c2007s 发表于 2022-4-22 18:19
返回变量不一定要用函数return返回值,也可以使用函数的参数。很多时候,一些复杂的程序里都是return一个状 ...

非常感谢
慎独
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-5-4 21:34:59 | 显示全部楼层
方正波 发表于 2022-4-24 15:45
char Test (char *p1, char *p2)
{
******;

谢谢呀
慎独
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-5-4 21:36:06 | 显示全部楼层

非常感谢
慎独
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 16:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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