子函数中得出的两个变量如何被主函数调用(C语言)
4个回答
展开全部
需要从函数中返回多于1个变量值时,最常用、也较简单的办法是在主调函数中声明变量,把变量的地址传给被调函数,在被调函数中通过指针直接操作主调函数中的变量。如此题中在主调函数中声明x和y,把x和y的地址(指针)传给被调函数。举例如下:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
void f(int *x,int *y){
*x=10;
*y=34;
}
int main(void){
int x,y;
f(&x,&y);
printf("x = %d\ny = %d\n",x,y);
return 0;
}
展开全部
更多追问追答
追问
能给举个例子吗?谢谢!
追答
以求返回一个整数的平方和相反数为例吧
比如 typedef struct Value{int x;int y;}val;
val fun(int n)
{
val m;
m.x = n * n;//平方
m.y = -n; //相反数
return m;// 返回这个结构体
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fun(int *x,int*y)
{ *x=*x+1;*y=*y+1; }
int main()
{
int a,b;
fun(&a,&b);
}
{ *x=*x+1;*y=*y+1; }
int main()
{
int a,b;
fun(&a,&b);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1楼正解~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询