小编给大家分享一下c语言中如何解决无法有多个返回值的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
c语言只能有一个返回值,想要获取多个返回值,又不想或不能把他们放到一个数组,不想用全局变量,我们可以使用引用传递(pass by reference)的方法。
如,我们有变量a,b,用一个函数同时处理他们,然后返回a和b,我们可以这样:
int a = 5;
int b = 10;
changeAandB(&a,&b);
printf("a is %d, b is %d.\n", a, b);
方法changeAandB:
void changeAandB (int *p1, int *p2)
{
int a = *p1;
int b = *p2;
*p1 = ++a;
*p2 = --b;
*p2 = --*p2; //此处不用加括号,但是若是 (*p2)--则必须有括号
}
通过这种方法,我们实际上是改对应地址的值,所以并不像值传递那样返回一个值。
看完了这篇文章,相信你对“c语言中如何解决无法有多个返回值的问题”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。