[console]ASCII-Code eingeben --> Zeichen ausgeben



  • Hi,
    Das Forum hat bestimmt schon komplexere Programme gesehen, aber warum geht das nicht?
    Man soll den ASCII-Code eingeben und das Zeichen soll ausgegeben werden.
    Aber es wird kein Zeichen ausgegeben, die Stelle bleibt einfach leer 😞
    Mit int als Datentyp funzt es auch nicht 😕

    /* Zeichen für einen ASCII-Code ausgeben */
    // NOCH FUNKTIONSUNTÜCHTIG
    #include <stdio.h>
    
    void main()
    {
    
    	char i;
    	printf("Geben Sie den ASCII-Code an: ");
    	scanf("%d",&i);
    	printf("Der ASCII-Code entsprich dem Zeichen: %c\n",i);
    
    }
    

    entschuldigt das void main() 😉

    Danke und Tschö



  • i muss ein int sein, wenn du mit %s einliest
    /edit: es muss %d heissen, danke an Caipi



  • Hmm, kann dir nicht nicht so recht folgen.
    Mit int funktioniert es nicht. Wenn ich mit %s einlese und int benutze, wird die erste Stelle des eigegebenen Codes wieder ausgegeben oO



  • Falky schrieb:

    Hmm, kann dir nicht nicht so recht folgen.
    Mit int funktioniert es nicht. Wenn ich mit %s einlese und int benutze, wird die erste Stelle des eigegebenen Codes wieder ausgegeben oO

    c.rackwitz hat sich vertippt. Er meinte, dass i ein int sein muss, wenn du mit %d einließt. =>

    /* Zeichen für einen ASCII-Code ausgeben */
    // NOCH FUNKTIONSUNTÜCHTIG
    #include <stdio.h>
    
    int main()
    {
        int i;
        printf("Geben Sie den ASCII-Code an: ");
        scanf("%d",&i);
        printf("Der ASCII-Code entsprich dem Zeichen: %c\n",i);
        return 0;  
    }
    

    Caipi



  • Caipi schrieb:

    c.rackwitz hat sich vertippt. Er meinte, dass i ein int sein muss, wenn du mit %d einließt.

    Funktioniert doch mit char genauso. Wo liegt das Problem?



  • freaked schrieb:

    Caipi schrieb:

    c.rackwitz hat sich vertippt. Er meinte, dass i ein int sein muss, wenn du mit %d einließt.

    Funktioniert doch mit char genauso. Wo liegt das Problem?

    Das Problem ist, dass es nicht immer funktioniert und dass dadurch in Speicher geschrieben wird der dir nicht gehört.



  • Verblüffend, ich hatte es genauso korrigiert und erst gings scheinbar nicht, aber jetzt gehts auch 🤡 Da war ich wohl irgendwie verpeilt 🙂
    Hatte schon fast gedacht es lingt am void main() ^^

    Danke

    TactX schrieb:

    freaked schrieb:

    Caipi schrieb:

    c.rackwitz hat sich vertippt. Er meinte, dass i ein int sein muss, wenn du mit %d einließt.

    Funktioniert doch mit char genauso. Wo liegt das Problem?

    Das Problem ist, dass es nicht immer funktioniert und dass dadurch in Speicher geschrieben wird der dir nicht gehört.

    Achsooo, deshalb ging das nicht ?!?! 😃
    Interessant in welche Fallen man schon mit solchen simplen Programmen tapsen kann 🙂


Anmelden zum Antworten