Porblem mit Programmablauf



  • Hi Leute,

    und zwar steige ich einfach nicht dahinter warum sich das kleine Übungs-
    programm von mir nach einer scanf-Zeile einfach schließt, obwohl eine weitere
    Scanf-Zeile und noch eine Bildschirmausgabe folgt 😕

    #include <stdlib.h>
    #include <stdio.h>
    
    int main ()
    {
     int Einlesen;
     int Einlesen2;
    
    	   printf("1. Einlesen!\n\n");
    	   scanf("%d",&Einlesen);
    
           fflush(stdin)
    
    	   Printf("2. Einlesen!\n\n);
    	   Scanf ("%d",&Einlesen2);
    
    	   Printf("1.=%d 2.%d ",Einlesen,Einlesen2);
    
    }
    

    Sorry bin Neuling aber ich hab mich überall durchgelesen , komm trotzdem nich drauf 🙄

    MfG St4tic



  • Falsches Forum -> C.

    Und

    Swordfish schrieb:

    Thou shall not fflush stdin

    , da das Flushen eines Eingabestreams zu undefiniertem Verhalten führt.

    Um dein Problem besser analysieren zu können, wäre es vielleicht auch hilfreich, du würdest kompilierbaren Code posten.



  • ich finde es immer wieder unglaublich, dass alle ihr thema "Problem" oder "Hilfe gesucht" bennen. Also das nächste mal etwas genauer bitte.

    ----------------------------------------------
    no help postcount + 1



  • ich finde es immer wieder unglaublich, dass alle ihr thema "Problem" oder "Hilfe gesucht" bennen. Also das nächste mal etwas genauer bitte

    Vielleicht sollte beim Beitrag erstellen den Titel darauf untersuchen, ober er nur das Wort "Problem", "Fehler", etc. enthält und wenn ja, dem Ersteller einen Hinweis auf den Bildschirm schreiben.
    Dieser Beitrag wäre dann zwar durchgekommen, aber andere würden weniger.

    @Threadstarter: Nach dem letzten printf solltest Du nochmal etwas einlesen... Dadurch bleibt die Konsole offen:

    #include <stdlib.h>
    #include <stdio.h>
    
    int main ()
    {
        int Einlesen;
        int Einlesen2;
    
        printf("1. Einlesen!\n\n");
        scanf("%d",&Einlesen);
    
        fflush(stdin)
    
        printf("2. Einlesen!\n\n"); // " vergessen, Printf sollte wohl klein geschrieben werden
        Scanf ("%d",&Einlesen2);
    
        printf("1.=%d 2.%d ",Einlesen,Einlesen2); //Printf sollte wohl klein geschrieben werden
    
        Scanf ("%d",&Einlesen2); //Irgendwas einlesen
        return(0); //Sollte auch nicht fehlen...
    }
    


  • Mr X schrieb:

    int main ()
    {
        return(0); //Sollte auch nicht fehlen...
    }
    

    ich kann mir schwer vorstellen, dass man die klammern so hässlich setzen muss 😛
    außerdem glaube ich, dass auch der C-standard sagt, dass das return 0 in der main-fkt optional ist...



  • Und was ist nun an dieser Art die Klammern zu setzen so falsch?


  • Administrator

    AF schrieb:

    Und was ist nun an dieser Art die Klammern zu setzen so falsch?

    Nicht falsch, nur sehen das viele als unschön an, da sie unnötig sind. Klammern können Dinge verdeutlichen, zu viele Klammern machen aber Dinge wieder unleserlich. Sieht man sehr schön an Lisp 🙂

    Grüssli



  • volkard hat das vor kurzem ganz gut analysiert 😛 😃

    bb



  • Dravere schrieb:

    zu viele Klammern machen aber Dinge wieder unleserlich. Sieht man sehr schön an Lisp 🙂

    Und das von einem Template-Anbeter ... 🤡


  • Administrator

    Mitleid schrieb:

    Dravere schrieb:

    zu viele Klammern machen aber Dinge wieder unleserlich. Sieht man sehr schön an Lisp 🙂

    Und das von einem Template-Anbeter ... 🤡

    Ich bin ein Templateanbeter? Seit wann? Wusste ich gar nicht!

    Man sollte immer alles in einem gewissen Mass einsetzen. Gut, ich übertreibe es vielleicht manchmal ein wenig, aber das kommt einfach daher, dass man mit Templates so schöne und akademische Lösungen machen kann, welche überhaupt nicht produktiv sind 😉
    Aber ich würde mich nicht als Templateanbeter sehen. Nicht ohne Grund habe ich letztens eine Bibliothek neu geschrieben, um die Verwendung der Templates zu minimieren. Es gibt Grenzen! Vor allem noch im jetzigen Standard ...

    Grüssli


Anmelden zum Antworten