Bin Anfänger und habe probleme mit printf und scanf

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Bin Anfänger und habe probleme mit printf und scanf

    Hallo liebe Community,
    ich habe folgendes Problem. Ich habe noch nicht so viel Erfahrung mit der Sprache C deswegen entschuldigt wenn das hier eine "dumme" frage ist.
    Ich habe Eclipse / Java und MinGW installiert und habs auch schon geschafft ein Projekt und eine SourceFile zu erstellen.
    Mein Problem liegt darin das wenn ich mein Programm startet ( Quellcode siehe unten ) dann führt er mir eine mir nicht nachvollziehbare Reihenfolge aus.

    Muster Code :------------------------------------------------------------------------------------------------

    #include <stdio.h>
    #include <stdlib.h>

    void main(){

    char c;
    printf("Mit welchem Buchstaben beginnt ihr Vorname? ");
    c = getchar();
    printf("\nIch weiss jetzt, dass Ihr Vorname mit '%c' beginnt.\n", c);

    }//main

    -----------------------------------------------------------------------------------------------------------------

    Gewünschtes Ergebnis:-------------------------------------------------------------------------------------

    Mit welchem Buchstaben beginnt ihr Vorname? K

    Ich weiss jetzt, dass Ihr Vorname mit 'K' beginnt.

    -----------------------------------------------------------------------------------------------------------------

    Mein Ergebnis:------------------------------------------------------------------------------------------------

    K
    Mit welchem Buchstaben beginnt ihr Vorname?
    Ich weiss jetzt, dass Ihr Vorname mit 'K' beginnt.

    -----------------------------------------------------------------------------------------------------------------

    Die Eingabe ist in diesem Fall 'K'.
    Wie ihr seht will er zuerst die Eingabe und spuckt mir danach erst die Ausgabe aus obwohl im Quellcode die Ausgabe vor der Eingabe kommt.
    Kenne das von Java anders deswegen bin ich so verwundert. ?(
    Meine Frage(n) lautet nun: Ist das Normal ? (Wenn Ja: Wie kann ich umgehen das ich erst eine Ausgabe habe und dann erst einen Wert einlese/
    Wenn Nein: Wie löse ich das Problem ?)

    Ich danke schon mal im voraus. :)

    The post was edited 1 time, last by Esc ().

  • Versuch doch mal mit

    C Source Code

    1. fflush("stdin");

    deinen Tastaturpuffer zu leeren. Meistens liegt dort der Fehler. Und wenn du nur ein Zeichen einlesen willst, empfehle ich dir

    C Source Code

    1. c = _getch();
    anstatt deines

    C Source Code

    1. c = getchar();

    Grüße Power_Gamer122

    PS.: Musste mich glatt registrieren um dir helfen zu können :D
    Grüße, Power_Gamer122