Come utilizzare il comando Scanf in C ++

November 6

La funzione scanf in C ++ legge i dati formattati dallo standard input, che è il monitor di default. Questi dati vengono poi memorizzati nel formato e posizioni specificate negli argomenti. Scanf prende un formato come un parametro seguito da altrettanti riferimenti rese necessarie dal formato. I seguenti passi vi aiuterà a utilizzare questo comando comune.

istruzione

1 Capire che la funzione scanf è conservato nella biblioteca cstdio. Potrebbe essere necessario includere il file di intestazione stdio.h per utilizzare questa funzione.

2 Imparare la sintassi. La sintassi completa è int scanf (const char * format, ...). Questa funzione restituisce il numero di elementi di lettura. Se scanf fallisce prima che i dati vengono letti, un EOF verrà restituito.

3 Sappiate che il formato può contenere identificatori di formato utilizzando il seguente prototipo:% [*] [larghezza] [modificatori] tipo. I campi che sono racchiusi tra parentesi sono opzionali. Si noti che il tipo è l'unico componente necessario del tag. Il tipo deve essere uno dei seguenti: C (singolo carattere); d (intero decimale); e, E, F, G, G (decimale virgola mobile); o (intero ottale); s (stringa di caratteri); u (senza segno decimale intero); x, X (integer esadecimale).

4 Si noti che una stringa di caratteri (s) di tipo leggerà caratteri fino a quando si incontra una nuova riga o una scheda carattere vuoto.

5 Guardate il seguente programma completo per alcuni semplici esempi di come utilizzare scanf:

includere

int main ()
{
char name [80];
int età;

printf ( "Qual è il tuo nome \ n?");
scanf ( "% s", nome);

printf ( "Qual è la tua età \ n?");
scanf ( "% d", & età);
printf ( "% s, siete% d anni. \ n", il nome, l'età);
return 0;
}

Questo programma avrà il seguente scambio. output del programma sarà preceduto da "Programma:" e l'input dell'utente sarà preceduto

per "Utente:":

Programma: Qual è il tuo nome?
Utente: John Smith.
Programma: Qual è la tua età?
Utente: 23.
Programma: John Smith, si sono 23 anni.