廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 4103 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
狂虛悟
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x9
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][精華] 求問遞迴問題 和cin.ignore()
想請問
void stringReverse( char [] );

int main()
{
const int SIZE = 30;
char strArray[ SIZE ] = "hello jack.";

for ( int loop = 0; loop < SIZE; ++loop )
cout << strArray[ loop ];
cout << '\n'
stringReverse( strArray );

cout << endl;
system( ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



[ 此文章被狂虛悟在2006-05-20 16:28重新編輯 ]



獻花 x0 回到頂端 [樓 主] From:台灣中華電信 | Posted:2005-06-22 10:35 |
MarkTzen 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x14
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

照遞回的次數跑跑看囉!
第一次…String的第0個位置進去stringReverse...(因為不等於'\0')!
所以到了呼叫自己的下一個位置(就是第一個位置…)!
來~~記一下,這是第一次,停置在這個位置!
然後是String的第二個位置傳入這個函式!同樣…假設非零,所以也到了呼叫自己的下一個位置(就是第三個)!
來~~再記一下,這是第二個位置所呼叫而停留的位置…然後傳入第三個位置給這個函式!
假設到第三個位置,就是結尾!那麼它return了!
想一想~~return後,是不是跑回剛剛"第二個位置"呼叫的那出來~~
然後繼續做 cout << strArray[0] ; 這樣就印出來第二個的字元!
然後結束…
再來記一下…我們是不是該回到"第一個位置"的呼叫…所以再做 cout << strArray[0] ; !
把第一個的字元印出!


這樣用文字走了一遍…還可以吧?就是從最後的值慢慢往前推回去~~~一一印出!
就是reverse印出囉! 表情

此文章被評分,最近評分記錄
財富:30 (by codeboy) | 理由: 謝謝您的說明喔^^


獻花 x0 回到頂端 [1 樓] From:台灣中華電信 | Posted:2005-06-24 01:31 |
sundayf1
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x7
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

注意到遞迴是把當下的值丟進堆疊中
再呼叫自己,等到條件不成立後,再慢慢取出堆疊一個一個去做
而不是做一次就停止了

此文章被評分,最近評分記錄
財富:20 (by codeboy) | 理由: 謝謝您的說明喔^^


獻花 x0 回到頂端 [2 樓] From:台灣中華電信 | Posted:2006-03-06 23:43 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.019388 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言