Hallo zusammen,
Meine Aufgabe ist folgende:
Implementieren Sie die folgenden Zeichenkettenfunktionen rekursiv mit Hilfe von Zeigern und Zeigerarithmetik
a) int strig_len(char *str) bekommt eine Zechenkette und gibt deren Länge zurück.
Soweit so gut. Mein Problem ist jetzt, wie setze ich das rekursiv um? Iterativ wäre ja kein Problem, nur mit dem rekursiv hapert's noch etwas.
Mein bisheriger Ansatz:
- if-Anweisung prüft ob wir am Ende des Arrays sind und gibt im Erfolgsfall 0 zurück, ansonsten muss die Funktion in irgendeiner Art und Weise nochmal aufgerufen werden.
Mein bisheriger Code:
Was passiert? Das Programm stürzt sofort ab.
Ich hoffe mal ich bin zumindest mal ansatzweise richtig unterwegs :D
LG
P.S.: Habe ich mit den BB-Codes was falsch gemacht oder warum schreibt der das alles in eine Zeile?!
Meine Aufgabe ist folgende:
Implementieren Sie die folgenden Zeichenkettenfunktionen rekursiv mit Hilfe von Zeigern und Zeigerarithmetik
a) int strig_len(char *str) bekommt eine Zechenkette und gibt deren Länge zurück.
Soweit so gut. Mein Problem ist jetzt, wie setze ich das rekursiv um? Iterativ wäre ja kein Problem, nur mit dem rekursiv hapert's noch etwas.
Mein bisheriger Ansatz:
- if-Anweisung prüft ob wir am Ende des Arrays sind und gibt im Erfolgsfall 0 zurück, ansonsten muss die Funktion in irgendeiner Art und Weise nochmal aufgerufen werden.
Mein bisheriger Code:
Code:
int string_len(char *str){
if(*(str) == ''){
return 0;
}
else{
return string_len(*(str+1))+1;
}
}Was passiert? Das Programm stürzt sofort ab.
Ich hoffe mal ich bin zumindest mal ansatzweise richtig unterwegs :D
LG
P.S.: Habe ich mit den BB-Codes was falsch gemacht oder warum schreibt der das alles in eine Zeile?!
No comments:
Post a Comment