problem bei der Ausgabe



  • moin zuammen

    das geht:

    #include <stdio.h>
    
    int main()
    {
    	long warten;
    
    	while(1)
    	{
    	printf("\n");
    	printf("hallo");		
    
    	for(warten=0; warten < 100000000; warten++)
    	;
    
    	}
    }
    

    ohne

    printf("\n");
    

    funktioniert es aber nicht!?!?
    Wenn ich statt printf puts benutze funktioniert es auch.

    Hat bitte irgendwer eine Erkärung für mich.



  • ragga schrieb:

    ohne printf("\n"); funktioniert es aber nicht!?!?

    Was soll denn Funktionieren? Erwartetes Verhalten deines Codes?

    ragga schrieb:

    Wenn ich statt printf puts benutze funktioniert es auch.

    Ach so, mit puts( ) läuft es also wie erwartet? Wie denn?

    ragga schrieb:

    Hat bitte irgendwer eine Erkärung für mich.

    Zuerst du...

    ➡ Smart Questions

    greetz, Swordfish



  • ragga: das liegt mal wieder an der doofen pufferung von 'printf'. erst letztens hatte hier einer ein änliches problem. wenn du den output sofort sehen willst, dann schliess den string mit '\n' ab oder schreib fflush(stdout) hinter die printf-zeile.
    schwordfisch: hilfsbereit wie immer, ne?
    🙂



  • ragga schrieb:

    moin zuammen
    ohne

    printf("\n");
    

    funktioniert es aber nicht!?!?
    Wenn ich statt printf puts benutze funktioniert es auch.
    Hat bitte irgendwer eine Erkärung für mich.

    Moinsen.
    Doch doch, das funktioniert, dann hast du anstatt so einer Ausgabe:
    hallo
    hallo
    hallo
    ...
    eine Ausgabe ohne Zeilenumbruch, also so:
    hallohallohallo



  • @fisch-freak: Danke für deine Antwort! Werde mich was die Pufferung anbetrifft wohl noch was schlauer lesen.

    @proggingmania: Bei mir nicht. Da passiert gar nichts nach dem Programmstart.


Anmelden zum Antworten