Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    3

    [C] Mi spiegate la seguente istruzione?}

    Ciao ragazzi, lo scopo del seguente codice credo sia quello di eliminare dal buffer i dati rimasti da leggere prima della lettura successiva, sapreste spiegarmi in particolar modo che valore assume la variabile status e perché? E cosa verrebbe memorizzato nell'array monthname[20], qualora l'input sarebbe: 12 ciao come stai 13?
    Grazie in anticipo.

    int day, year;
    char monthname[20];
    int status;

    while((status=scanf(“%d %s %d”,&day,monthname,&year))!=EOF){
    if(status>0&&status<3){
    while(getchar()!='\n');}
    else
    /*processa i dati*/
    }
    Ultima modifica di melo26; 23-06-2015 a 16:36

  2. #2
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Cominciamo col dire che parsare un input con scanf è male.
    Ad ogni modo scanf ritorna il numero di variabili che ha trovato, zero se c'è qualcosa, ma non è stato riconosciuto il formato, oppure EOF

    Nel tuo caso hai un "piccolo" problema con gli spazi (oltre a 10000 altri)

Tag per questa discussione

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 © 2025 vBulletin Solutions, Inc. All rights reserved.