Re: [問題] 如何彼此呼叫兩 副程式 內的數值?

看板C_and_CPP (C/C++)作者 (朱子)時間16年前 (2009/02/04 22:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
看起來你的目標只是希望讓函式可以輸出多個不同的值,而不是只有一個回傳值 如果是這樣的話,不妨在主函式中宣告這些變數,然後把這些變數的參考或指標 當作引數傳進函數內 或是定義一個結構,然後回傳 例如:輸入整數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
文章代碼(AID): #19YQg9HG (C_and_CPP)
文章代碼(AID): #19YQg9HG (C_and_CPP)