作者Elfiend (小孩)
看板TransCSI
標題Re: [考古] 中正-93 有錯請指正
時間Fri Jun 17 16:26:06 2005
※ 引述《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