作者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
1F:推 erichugh:recursive function....要递回呼叫阿.....140.115.216.182 06/17
2F:推 dynamicy:终於有人懂我的意思了...没有用递回呼叫... 218.170.38.85 06/18
3F:→ dynamicy:应该还是白写吧...如果只是字串反转的话, 218.170.38.85 06/18
4F:→ dynamicy:就有多到不行得写法了,这堤地回不好写>"< 218.170.38.85 06/18
5F:推 Elfiend:嗯嗯~抱歉没看清楚题目 >.<"220.139.132.172 06/18