作者Poplarysl (Poplar)
看板b97902HW
標題[問題] 自寫的function可以輸出兩個(含)以上的值嗎?
時間Sat Oct 11 11:07:39 2008
我如果想寫一個function啊
以目前我所擁有的知識是
在main function前先宣告
然後隨便找的地方 寫這個function是吧!
------------------這是騙p幣分隔線XD------------------
這次上bob的課啊
教授是說
是宣告成你想輸出的格式
ex: int XXX();
然後開始寫自己定義的functio嘛
然後內容就大概是
int XXX(int a,float b,.... ){
............................
............................
............................
............................
以上省略
//最後要寫一個return值是吧
//return 到最一開始的 int那邊
//那我如果在這個function想輸出兩個(含)以上的值
//要怎麼辦??
//寫兩次return嗎??
//還是要寫多個類似的function
//只是每個的輸出值都不一樣
//還是一開始宣告的時候要寫成
//int,int XXX();啊
}
有請強者^^
麻煩了!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.171.172.189
1F:推 LoganChien:簡短答案:不行。 10/11 11:08
2F:→ LoganChien:長一點的答案:等你學會指標你就會了。 10/11 11:09
3F:→ LoganChien:如果你現在就有使用二個變數的需求,你可以先用全域變 10/11 11:10
4F:→ LoganChien:數。 10/11 11:10
5F:推 sa072686:當函數碰到return,它的生命就結束了… 10/11 11:12
6F:→ Poplarysl:那我還多研究上兩篇文好了>< 10/11 11:12
7F:→ sa072686:所以寫兩個return,看到第一個就結束了,後面那個沒用 10/11 11:12
8F:推 BNMAA:C的話可以用struct 10/11 11:16
9F:推 BNMAA:有請真強者們po文教學~ 10/11 11:20
10F:→ davidpanda:如果你不介意多用些全域變數的話 10/11 11:44
11F:→ davidpanda:只需多開兩個全域變數用以儲存你想回傳的值即可 10/11 11:45
12F:推 LoganChien:C 語言的 struct 是 assignable 嗎?我怎麼不記得? 10/11 11:48
13F:→ BNMAA:是啊 你可以試試看~ 10/11 11:58
14F:推 benck:以函數的概念來看,的確只能輸出一個值 10/11 12:15
15F:推 godgunman:可以用struct 10/11 12:22
16F:推 LoganChien:咦,真得可以,我以前都不知道,都用 pointer... OTZ 10/11 13:46
17F:推 LoganChien:(其實我的主要語言的 C++,在 C++ 是可以的,在 C 語言 10/11 13:56
18F:→ LoganChien:好像被一本書灌輸不可以這樣做 OTZ ) 10/11 13:56
19F:推 BNMAA:這樣做的壞處是copy的cost 10/11 14:04
20F:推 LoganChien:其實也還好,一個好的編譯器應該要會最佳化這種情況。 10/11 14:08
21F:→ LoganChien:不過速度真得有差就是了 10/11 14:09