※ 引述《godwithin (風火輪)》之銘言:
: 就是呀
: 函數可以傳回兩個以上的值嗎?
: 如果可以
: 希望可以舉個簡單的例子說明(越簡單明瞭越好^___^)
: 如果不行
: 那再請問一下
: 函數可不可以傳回一個陣列啊
: 如果可以
: 還是希望可以舉一個簡單明瞭的例子說明一下
就c語言來說 不行傳回兩個以上的值...
解決方法:
1) 如果是固定個數的回傳值
定義一個struct 回傳struct
struct point
{
int x,y;
};
point Distance(point x1,point x2);
2) 不定個數回傳值
回傳指標
但是通常不用在陣列指標上
因為這樣容易超出陣列範圍
而通常用在串列指標上
也就是回傳一個串列
struct node
{
int data;
node* next;
};
node* function(int a,int b);
void main(void)
{
node *a = function ( 1,2);
while ( a != NULL)
{.....}
}
--
"但 ,這不合常理啊!" 你說
沒錯 ! 要求宇宙合於常理根本就不合常理 ..
--
※ 發信站: 批踢踢實業坊(ptt.twbbs.org)
◆ From: Alan.m8.ntu.edu
> -------------------------------------------------------------------------- <
作者: threeeyes (星舞絃獨角獸神話憶) 看板: C_and_CPP
標題: Re: 請問一個問題
時間: Sat May 15 08:28:25 1999
※ 引述《alang (Wrong Answer >_<)》之銘言:
: 就c語言來說 不行傳回兩個以上的值...
: 解決方法:
: 1) 如果是固定個數的回傳值
: 定義一個struct 回傳struct
: struct point
: {
: int x,y;
: };
: point Distance(point x1,point x2);
應該是struct point Distance(struct point x1, struct point x2);
--
IOI 1998 演算法補習教育密集班
墮落王朝之二朝元老 編號七號 Ddavid
信件Stack位於記憶體位址 chchung@ck.tp.edu.tw, Overflow, 不過麵包stack比較可怕
打斷我Ftp時應該打的電話號碼: 122917122311 (簡單的小編碼, 可是卻比原來還長)
23x23 Puzzle (數字拼盤)強力運作中
我...我錯了!!失誤到只剩銅牌, 嗚嗚嗚嗚...
--
※ 發信站: 批踢踢實業坊(ptt.twbbs.org)
◆ From: infor.ck.tp.edu