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

    [C] Comportamento anomalo di un loop

    Ho questo programma:

    codice:
    #include <stdio.h>
    
    int main()
    {
      double x;
     
      printf("inserire x\n");
      scanf("%lf", &x);
      printf("hai scritto: %lf",x);
    
      do{ } while (1);
    
     printf("fine");
    }
    ;

    Essendo il loop infinito, chiaramente mi aspetterei che: 1) fa il primo print; 2) fa lo scanf; 3) fa il secondo print; 4) va in loop;
    E invece fa: 1) fa il primo print; 2) fa lo scanf; 3) va in loop;

    Perchè salta il secondo printf!! Non me lo riesco a spiegare.....
    [Compilo con gcc in Ubuntu]

    Grazie!

  2. #2
    devi svuotare il buffer. Ad esempio:
    Codice PHP:
    printf("hai scritto: %lf",x);
    fflush (stdout); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    337
    a me lo fa il secondo printf

    codice:
    inserire x
    55
    hai scritto: 55.000000

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.