Umkehren einer Zeichenfolge in c mit Rekursion

Ich habe code geschrieben, um das umkehren einer Zeichenfolge in c... es funktioniert gut, aber ich kann nicht zurück die umgekehrte Zeichenfolge in der main() Funktion.

#include<stdio.h>

main()
{
  char a[17]="abcdefg";
  reverse(a);
  printf("\n");
  system("PAUSE");
}
int reverse(char *a)
{
   if(*a!='\0')
   {   
     reverse(a+1);
   }
   printf("%c",*a);
}         

druckt es die umgekehrte Zeichenfolge, aber ich möchte die umgekehrte Zeichenfolge in main(). Wie kann ich dies tun?

Ist das eine Hausaufgabe?
nopes, ich studiere Rekursion
Die int reverse() sollte die Funktion mindestens int zurückgeben.
Sie müssen swap-Zeichen in der Zeichenfolge (ein in-place-reverse), anstatt Sie zu drucken. Eine rekursive Lösung ist ineffizient, aber kann getan werden, relativ leicht.
Statt sich auf die meist nutzlosen Wissens, wie Rekursion, Sie sollten sich auf nützliches wissen, wie C99/C11 und wie zu schreiben Funktionsprototypen in der modernen C. der code enthält einige Fehler, und Sie stehen nicht im Zusammenhang mit Rekursion, sondern um grundlegende C-Programmierung.

InformationsquelleAutor Amol Singh | 2012-10-03

Schreibe einen Kommentar