关于C语言调用函数的问题

来源:百度知道 编辑:UC知道 时间:2024/05/05 02:55:11
我想问一下被调函数如果需要输出给主调函数两个数据,应该怎么办?
最好给点例子! 谢谢了!

二楼的回答是利用指针返回地址:这种方式可以设定函数没有返回值,在函数前加void。
m的地址(假定地址 &m 是FF00) 传递给 p(p=m), m 地址原来存放的‘值’是0,在函数foo中修改FF00中的‘值’变为100,返回主函数printf("m: %d, n: %d", m, n); 输出 m 的地址(FFOO)里的值。
令一种方法是函数本身有返回值:
#include "stdio.h"
foo(int p)
{
p = 100;
return p; /*不可少*/
}
int main()
{
int m = 0,k;
k=foo(m);
printf("result: %d ",k); /*或 printf("m: %d",foo(m));可以省略k变量*/
printf("m: %d\n\n",m); /*输出 0 */
}
其中 m 给函数p的只是一个拷贝,p形参m实参,p没法改变m的值,因为p所在的地址不是(FF00)。
结果:result:100 m:0

不知道你要什么样的例子啊~~!

我写一个简单点的,希望你能明白吧~~!

#include<stdio.h>
void main()
{
fun(int x,int y);
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
d=fun((a,b),c);
printf("%d",d);
fun(int x,int y)
{
if(x>y)
return x;
}
}
这样就可以了,以上是一个比大小的函数调用

不懂的地方在线交流吧~~!

被调函数的参数中加入两个引