Hallo Leute.
Aufgabenstellung: Schreiben Sie eine Funktion, die feststellt an welcher Stelle einer Zeichenkette ein Zeichen zum letzten Mal vorkommt. Die Stellennummer, an der das Zeichen zum letzten Mal vorkommt soll der Rückgabewert der Funktion sein. Ist das Zeichen in der Zeichenkette nicht vorhanden oder wird keine gültige Zeichenkette übergeben, soll der Wert -1 zurückgeliefert werden.
So also ich habe mein Programm geschrieben bekomme aber immer eine Fehlermeldung. Ich würde mich freuen, wenn ihr mir weiterhelfen könntet.
/*
haupt.c
Hauptprogramm zu dem Projekt: Zeichenkette
*/
#include
#include „zeichen.h“
int main (void)
{
char z[80]; /* Das Feld(array) vom Typ char für die Zeichenkette wird definiert*/
char v[2]; /* Zeichen */
int i,n;
printf(„Bitte geben Sie ihre Zeichenkette ein:\n\n“ , z);
gets(z); /* Liest die Zeichenkette einschließlich der Leerzeichen ein*/
printf("\n");
printf(„Bitte geben Sie das Zeichen ein:\n\n“);
gets(v);
i = EdZ ( i , z );
n = Zn ( i , n , z , v );
printf("\n");
printf(„Das Zeichen %c kommt zu letzt an der Stelle %d vor \n“ , v[0] , n); /* Ausgabe auf dem Bildschirm */
return 0;
}
/*
zeichen.h
Schnittstelle
*/
extern int Edz ( int i , char z );
extern int ZN ( int i , int n , char z , char v );
/*
Zeichensuche.c
Funktion zur Zeichensuche
*/
#include
int EdZ ( int i , char z )
{
for ( i=0 ; z[i]!=’\0’ ; i++); /* Mit Hilfe dieser Schleife wird die Länge der Zeichenkette ermittelt*/
return i;
}
int Zn ( int i , int n , char z , char v )
{
for ( n=i-1 ; z[n]!= v[0] ; n–); /* Das Programm durchläuft von hinten die Zeichenkette und sucht nach dem Zeichen */
n++;
return n;
}
Ich weiß das ist was lang und es tut mir Leid.
Mfg Mr T!