作者mantour (朱子)
看板C_and_CPP
标题Re: [问题] 如何彼此呼叫两 副程式 内的数值?
时间Wed Feb 4 22:47:35 2009
看起来你的目标只是希望让函式可以输出多个不同的值,而不是只有一个回传值
如果是这样的话,不妨在主函式中宣告这些变数,然後把这些变数的参考或指标
当作引数传进函数内
或是定义一个结构,然後回传
例如:输入整数a,计算结果为一个字串和一个浮点数
方法一:
void f(int a,char s[],float *r)
{
......
s[i]=...;
......
*r=...;
return;
}
int main()
{
char s[10];
float r;
f(1,s,&r);
printf("%10s , %f",s,r);
}
方法二:
struct result
{
char s[10];
float r;
};
struct result f(int a)
{
struct result r;
......
r.s[i]=...;
......
r.r=...;
return r;
}
int main()
{
struct result t;
t=f(1);
printf("%10s , %f",t.s,t.r);
}
如果有更好的做法还请各位板友指教^^
※ 引述《NoobImage (老人家)》之铭言:
: 我有两个函式
: 里面全部都是 区域变数
: void a(...)
: void b(...)
: 当我做完
: a(...);
: 时 我想用里面的值 每次都要 存成 笔记本(.txt)
: 因为该值只存活在 函式 a(...) 作用时
: 请问有没有方法可以马上得到 a(...) 里的某一变数值
: 感觉就像是这种写法
: int temp;
: temp = a.xxx(x , x, x, ...);
: 或是 把 void a(...) 改成 int a(...)
: temp = a(...) (RETURN 值) !!!!! 但是要多个 变数 并 不同形式(int float ....)
: 好像可以用结构达成 又好像不行 有大大可以帮忙吗 ?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.213.158