看板 TransCSI 關於我們 聯絡資訊
※ 引述《flashstar (閃亮的星)》之銘言: : 參考這樣的觀念=> : reverse(p) : { : if(p->next!=null) : reverse(p->next); : cout<<p->data; : } : 這是把字串reverse秀出來而已, 而中正這題是多了一個灌到原字元的步驟, : 需要多加index做修正... : ※ 引述《dynamicy (小人物)》之銘言: : : 這樣有recusive function嘛? : : 個人感覺只有交換而已...?? 請問是指我寫的程式結果只有在程式內部將字反轉, 但沒有將反轉的字串再傳回到主程式嗎? 可是如果要傳大量的資料,不是用陣列指標等就可以了? 那為什麼這題我用了陣列,卻沒有修改到主程式的陣列呢? ========================================================================= 以下是原題 22. Write a recursive function reverse_string to reverse a string by C. For example, char a[] = "ABCDEFGH"; printf("%s/n",a); /*"ABCDEFGH*/ reverse_string(a); printf("%s/n",a); /*"HGFEDCBA*/ 以下是我寫的程式 void reverse_string (chat a[]){ char string[]; int m=0,n=0; while(a[m]!='\0'){ m++; } m--; while(m>=0){ string[n]=a[m] m--; n++; } while(n>=0){ a[n]=string[n] n--; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.179.190
erichugh:recursive function....要遞迴呼叫阿.....140.115.216.182 06/17
dynamicy:終於有人懂我的意思了...沒有用遞迴呼叫... 218.170.38.85 06/18
dynamicy:應該還是白寫吧...如果只是字串反轉的話, 218.170.38.85 06/18
dynamicy:就有多到不行得寫法了,這堤地回不好寫>"< 218.170.38.85 06/18
Elfiend:嗯嗯~抱歉沒看清楚題目 >.<"220.139.132.172 06/18