Inverser une chaîne de caractères à l'aide d'une fonction récursive

Je suis actuellement étudiant de C et je ne peux pas obtenir au-delà de cet exercice. Je dois créer une fonction récursive pour inverser string1 en string2. Voici mon code. Je serais heureux de vous remercie de votre aide.

#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]!='
#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';
}
'
;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]='
#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';
}
'
; }
qu'est-ce que s2[] pour?
Le code ne compile bien,le problème c'est que cela ne marche pas montrer tous les caractères lorsque j'imprime le 2 chaîne.
s2[] représente la deuxième chaîne
l'exercice de mentionner tout avantage que vous pourriez obtenir de l'aide d'une fonction récursive pour inverser une chaîne de caractères en C, dont les "chaînes" ne peuvent pas être retournés facilement et donc ne correspondent pas à ce modèle très bien?
Il dit la même chose que vous avez dit.À l'aide d'une fonction récursive ne pas faire un programme plus rapide,mais encore il vous demande un exercice avec une fonction récursive.Je ne peux pas avancer sans la résolution de cet exercice.

OriginalL'auteur Lind | 2013-03-10