Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

elvis 發問時間: 電腦與網際網路程式設計 · 2 0 年前

如何在一個函式中回傳兩個值[C語言]

例如

在同一個函式中計算三科成績的"和與平均"

在main()中輸出

我記得要用point可是忘記怎麼做了

請哪位大大教教我

已更新項目:

謝謝 銀薰 大大的回答

不過這個回答我已經在別的網站上看過了

就是不太懂他的意思(我是新手)

可以請你做詳細的回答嗎

2 個解答

評分
  • 2 0 年前
    最佳解答

    1.將回傳值合併成一個structure, 回傳structure即可。

    2.將回傳值以reference或pointer的方式加入參數之中,

    如: function (int& ReturnValue1,int* ReturnValue2);

    在function中將要回傳的值丟給Returnalue參數即可。

    假設您要回傳int ReturnValue1與int ReturnValue2,

    那麼就宣告一個structure :

    struct ReturnValues

    {

    int ReturnValue1;

    int ReturnValue2;

    };

    1)

    int __fastcall TFormInterViewAsk::GetSalaryAdd(AnsiString tAskJob, ReturnValues& stuReTest)

    {

    stuReTest.ReturnValue1 = 1; // 寫入您要的值

    stuReTest.ReturnValue1 = 2;

    ...

    }

    2)

    ReturnValues __fastcall TFormInterViewAsk::GetSalaryAdd(AnsiString tAskJob)

    {

    ReturnValues stuReTest;

    stuReTest.ReturnValue1 = 1; // 寫入您要的值

    stuReTest.ReturnValue1 = 2;

    ...

    return stuReTest;

    }

  • Mark
    Lv 5
    2 0 年前

    我覺得銀薰的回答應該已經很詳盡了

    你再看不懂,可能要找朋友慢慢問

還有問題?馬上發問,尋求解答。