编程中C语言函数想返回2个值该怎么办?
发布网友
发布时间:2022-05-02 00:02
我来回答
共2个回答
热心网友
时间:2022-06-25 08:51
楼下真牛*,恐怕是怪兽大学毕业的吧。
推荐做法
把函数声明写成这样int func(int* ret1,int* ret2)
这样就可以用ret1和ret2来返回信息了,事实上,scanf函数就是这样的一个例子。
方案二呢,可以将多个返回值打成一个结构体,然后作处理,其实这种方式不怎么好,因为结构里的两个变量很可能没什么联系,而你却把他们打包在一起。其实,等你学得好了,你会发现其实还有很多方法都可以达到目的,因为c语言就是如此强大而灵活。最后,警告一下不要用 return a,b之类的语句。因为a,b会被解释为一个逗号表达式,它最终的值就是b的值,所以return a,b;就等同于return b;追问函数定义成你说的那样之后呢
追答这样你都还不懂???
void func(int* ret1,int* ret2){
*ret1=3;
*ret2=5;
}
这样,就相当于返回了两个值。调用方法是
int a,b;
func(&a,&b);这样a为3,b为5。
其实,还可以给函数加一个真正的返回值,返回一些额外的信息,但这里为了方便,就省去了。
热心网友
时间:2022-06-25 08:52
int*和结构体