線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1263
推到 Plurk!
推到 Facebook!

如何讓遞迴結束

尚未結案
kikikaka
一般會員


發表:32
回覆:28
積分:12
註冊:2003-09-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-24 15:00:45 IP:61.229.xxx.xxx 未訂閱
請問各位高手: 當我用遞迴程式時,是否可以在程式碼內設定,當遞迴超過一定次數時,就跳出遞迴程式呢? 謝謝各位!
folkchen
高階會員


發表:9
回覆:232
積分:173
註冊:2003-10-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-24 15:56:05 IP:211.20.xxx.xxx 未訂閱
記得是沒有指令可以直接結束遞迴 還是要讓它自己一層一層的結束 我大多是讓它滿足遞迴條件自行結束 或是插旗子來判斷是否要結束
kikikaka
一般會員


發表:32
回覆:28
積分:12
註冊:2003-09-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-24 16:55:27 IP:61.229.xxx.xxx 未訂閱
感謝folkchen大大的回答。 那請問插旗子判斷的方法要如何使用,是否可以給我個範例學習。 謝謝!
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-24 17:07:16 IP:61.66.xxx.xxx 未訂閱
kikikaka你好    你可以在遞回的迴圈前設定一個旗標(folkchen的方式)    
 
bool BOver = false;
int i,j,cnt = 0;
#define MAXCNT 5000    for ( int i = 0; i < 100; i   )
{
    .....
    for ( int j = 0; j < 100; j   )
    {
    ....
        cnt  ;
        if ( cnt == MAXCNT )
        {
            BOver = true; 
            break;
        }
    }
    if ( BOver )
        break;    }     
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-24 22:38:28 IP:61.30.xxx.xxx 未訂閱
int total = 0;
int i = 1;
int f()
{
    if (i < 101)
    {
        total =i;
        i  ;
        f();
    }
    return;
}
main()
{
f();
pinrtf("total = %d",total);
}
計算1加到100的總和。
系統時間:2024-05-19 19:46:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!