Zahlenumkehr (rekursiv)



  • Hallo, ich bin gerade dabei ein Programm zu schreiben, das Zahlen umkgekehrt wieder ausgibt. Mit Zeichen hat alles funktioniert, nur jetzt mit den Zahlen gibt das Programm sie nicht mehr korrekt aus.

    /* zahlenumkehr.cpp */
    
    #include <stdio.h>
    
    void zahlenumkehr(void);
    
    int main(void)
    {
    	printf("Zahlenumkehr (Ende mit Null!)\n\n");
    
    	zahlenumkehr();
    
    	return 0;
    }
    
    void zahlenumkehr(void)
    {
    	int zahl;
    
    	scanf("%i", &zahl); // haha, jetzt funktionierts ;-)
    
    	if (zahl != 0)
    	{
    		zahlenumkehr();
    		printf("%i", zahl);
    	}
    }
    

    Wo ist der Fehler? Warum geht's mit Zeichen und nicht mit Zahlen?

    #include <stdio.h>
    
    void stringumkehr(void);
    
    int main(void)
    {
    
    	printf("Stringumkehr: \n");
    
    	stringumkehr();
    
    	return(0);
    }
    
    void stringumkehr(void)
    {
    	char zeichen;
    
    	scanf("%c", &zeichen);
    
    	if (zeichen != '*')
    	{
    		stringumkehr();
    		printf("%c", zeichen);
    
    	}
    
    }
    

    Thomas



  • einlesen von ints geht mit %i oder %d , nicht mit %f , dass is für floats



  • Danke, das hab' ich vollkommen übersehen :-(.

    Thomas


Anmelden zum Antworten