Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C][Eclipse] viene letta prima la riga n+1 e poi la n

    Salve ragazzi, non sono alle prime armi di C quindi vi prego non consigliatemi di non usare una IDE xD
    Tuttavia ho un problema con Eclipse per C/C++
    Precisamente quello che succede è che nel programma che ho scritto dovrebbe essere eseguita prima la printf e poi una scanf, infine di nuovo una printf.
    Quello che stranamente succede è che la scanf pur essendo scrittain una riga succesiva alla printf viene eseguita prima, o almeno questo è quello che da "semplice utente" mi sembra :|
    Ovviamente prima di postare mi sono accertato della correttezza del codice compilandolo su linux e tutto è filato liscio come l'olio...
    Vi posto uno screen:

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Prima della printf disabilita il buffering per stdout con

    setbuf(stdout, NULL);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    In alternativa, dopo la prima printf metti fflush(stdout);
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Vi ringrazio ragazzi... c'è un modo affinchè io possa evitare di scrivere fflush(stdout) ogni volta tra un printf e uno scanf oppure no?

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    214
    Puoi scriverti una tua funzione che faccia printf e fflush, e la richiami poi nel main o in tutte le altre funzioni che scrivi. Ad esempio:
    codice:
    void my_printf(int x){ 
    printf("%d", x); 
    fflush(stdout)
    }
    Quella di sopra stampa un intero, ma puoi metterci tutti gli argomenti che ti pare.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da VYCanisMajoris
    Vi ringrazio ragazzi... c'è un modo affinchè io possa evitare di scrivere fflush(stdout) ogni volta tra un printf e uno scanf oppure no?
    Hai provato quello che ti ho indicato ... ? Lo hai letto ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.