#include <stdio.h>

int position(char *zeichenkette, char zeichen); /* Prototyp der Suchfunktion */

int main(void)
{
	enum { LAENGE = 100 };
    int position_zeichen,start,c;
    char zeichen, zeichenkette[LAENGE];
    
    puts("Das ist ein Programm zum Vergleich einer Zeichenkette mit einem Zeichen");

    printf("Bitte Zeichenkette mit maximal %d Zeichen eingeben: ",LAENGE-1);
    // Einlesen einer beliebigen Zeichenkette mit Sonderzeichen
    for(start=0;(start<LAENGE-1) && ((c=getchar()) != EOF) &&c!='\n' ;start++)
    {
        zeichenkette[start]=c;
    }
    zeichenkette[start] = '\0'; /* String-Ende markieren */
	
    if(start==LAENGE-1) /* Wenn zu viele Zeichen sind, hier verarbeiten */
    {
        while(getchar()!='\n'); /* Zeichen solange einlesen bis Enter */
    }
	
    printf("Bitte ein Zeichen eingeben:");

    scanf("%c",&zeichen);  /* Einlesen des gesuchten Zeichens */	

    position_zeichen = position(zeichenkette,zeichen);
	
    if (position_zeichen == -1)	/* ist das Zeichen nich vorhanden? */
        puts("Eingegebenes Zeichen ist nicht in der Zeichenkette enthalten!");
    else
        /* wenn ja, Ausgabe des Suchergebnisses */
        printf("Position des letzten %c ist an Stelle: %d\n", zeichen, position_zeichen+1);
	
    return 0;
}

/* Funktion zum Suchen des Zeichens */
int position(char *zeichenkette, char zeichen)
{
    int back = -1, i;	
	
    if(zeichenkette!=NULL) /* Wenn keine Zeichen vorhanden sind, Rückgabe von 0 */
    {	
        /* Schleife zum Durchgehen der Zeichenkette */
        for(i = 0; zeichenkette[i] != '\0'; i++) 
        {
        	/* Kontrollausgabe der Zeichen mit der zugewiesenen Positionszahl */
            printf("An Stelle %4d steht das Zeichen  = %c\n",i+1,zeichenkette[i]);
            
            /* Vergleich der einzelnen Zeichen mit dem gesuchten */
            if (zeichenkette[i] == zeichen)  
            {
                back = i; /* Position des gesuchten Zeichens speichern */
            }
        }
    }
    return back;	/* Rückgabe der Position des gesuchten Zeichens */
}

