→ MOONRAKER: 沒錯超low 220.135.118.23 07/11 10:39
→ MOONRAKER: 只有main才一定要有回傳值 220.135.118.23 07/11 10:40
→ MOONRAKER: 其他自己寫的函數回不回傳,沒人管你 220.135.118.23 07/11 10:40
→ MOONRAKER: 第一個問題你就想函數參數跟變數宣告 220.135.118.23 07/11 10:41
→ MOONRAKER: 是兩回事就好了 其他你長大就會懂了 220.135.118.23 07/11 10:41
推 CoNsTaR: 是先學了函數式才來碰 imperative 嗎 142.116.62.232 07/11 12:18
推 CoNsTaR: 是的話 void 函數就當做是 IO () side ef 142.116.62.232 07/11 12:20
→ CoNsTaR: fects 就好了 142.116.62.232 07/11 12:20
→ CoNsTaR: 第一個問題因為你宣告的ref有可能沒初始 142.116.62.232 07/11 12:26
→ CoNsTaR: 化就拿來用所以要規定必須在宣告的時候 142.116.62.232 07/11 12:26
→ CoNsTaR: 初始化 142.116.62.232 07/11 12:26
→ CoNsTaR: 然而函數不可能參數沒給齊就呼叫,所以可 142.116.62.232 07/11 12:26
→ CoNsTaR: 以確定每個參數一定都會被初始化到 142.116.62.232 07/11 12:26
推 miyi0630: 想成大家都有work,只是非void的函式work 117.19.160.181 07/17 05:10
→ miyi0630: 完會丟一個值出來 117.19.160.181 07/17 05:10
→ miyi0630: 你提的函式是把目的位置的值交換了,但 117.19.160.181 07/17 05:16
→ miyi0630: 它並沒有「多」丟一個值出來XD 換個方 117.19.160.181 07/17 05:16
→ miyi0630: 式說,如果你在這個函式前加上型別,你 117.19.160.181 07/17 05:16
→ miyi0630: 是希望他回傳什麼東西出來0.0? 如果你 117.19.160.181 07/17 05:16
→ miyi0630: 希望他傳「這個東西」回來,就要多加一 117.19.160.181 07/17 05:16
→ miyi0630: 句return,就是這樣而已。 117.19.160.181 07/17 05:16
→ miyi0630: 你的問題很好,這個觀念挺重要的。只是 117.19.160.181 07/17 05:19
→ miyi0630: 可能誤會了回傳的意思,這個回傳跟運不 117.19.160.181 07/17 05:19
→ miyi0630: 運行沒有甚麼特別的關係,就只是額外丟 117.19.160.181 07/17 05:19
→ miyi0630: 一個值出來而已。 117.19.160.181 07/17 05:19
→ miyi0630: 舉個例,有個函式F(a,b)會把a+b相加,如 117.19.160.181 07/17 05:30
→ miyi0630: 果直接void,他還是會運行,但運行完之 117.19.160.181 07/17 05:30
→ miyi0630: 後你也沒有拿到什麼;但如果用指定c=F(a 117.19.160.181 07/17 05:30
→ miyi0630: ,b) ,那它就會把算完的總和丟給c。 而要 117.19.160.181 07/17 05:30
→ miyi0630: 求他丟回就要用return, 前面的型別則表 117.19.160.181 07/17 05:30
→ miyi0630: 示丟出來的值會是int。 因為同樣一個函 117.19.160.181 07/17 05:30
→ miyi0630: 式可以丟很多不同型態的資料出來(你也可 117.19.160.181 07/17 05:30
→ miyi0630: 以要求F不論如何都丟數值5出來……), 117.19.160.181 07/17 05:30
→ miyi0630: 所以前面的型別只是在區分你希望他丟出 117.19.160.181 07/17 05:30
→ miyi0630: 來的是什麼類型的資料而已,與運行無關 117.19.160.181 07/17 05:30
→ miyi0630: 。 117.19.160.181 07/17 05:30
→ miyi0630: 表演給你看 : 3 117.19.160.181 07/17 05:34
→ miyi0630: 函式前面的回傳型別只與return有關,不 117.19.160.181 07/17 05:36
→ miyi0630: 是你想得那種回傳>< 117.19.160.181 07/17 05:36
→ ntpuisbest: 謝謝大大 61.61.12.16 07/25 11:11