我目前正在學習C,但無法通過此練習。我必須創建一個遞歸函數來將string1
轉換爲string2
。這是我的代碼。我很樂意感謝你的幫助。使用遞歸函數反轉字符串
#include <stdio.h>
#define MAX 100
void reverse(char s1[],char s2[],int n,int j);
int main()
{
char string1[MAX]="How Are You Mate";
char string2[MAX]="";
int n=0;
int i=0;
int j=0;
for(i=0;string1[i]!='\0';i++)
n++;
reverse(string1,string2,n,j);
printf("String-a normal:\n%s\n",string1);
printf("String-a reverse:\n%s\n",string2);
return 0;
}
void reverse(char s1[],char s2[],int n,int j)
{
if(n>0)
{
s2[j]=s1[n];
reverse(s1,s2,n-1,j+1);
}
else
s2[j]='\0';
}
是什麼'S2 []'對於? – 2013-03-10 11:27:41
代碼確實編譯正常,問題是它不顯示任何字符,當我打印2字符串。 – Lind 2013-03-10 11:29:56
s2 []代表第二個字符串 – Lind 2013-03-10 11:34:40