Una funzione è un insieme di istruzioni per eseguire un'attività specifica. Senza scrivere tutte le istruzioni nello stesso programma, può essere diviso in più funzioni. Nella programmazione, l'utente può definire le proprie funzioni. Ci sono anche funzioni fornite dai linguaggi di programmazione. Il linguaggio C offre una serie di funzioni, quindi il programmatore può utilizzarle direttamente senza implementarle dall'inizio. Due di queste funzioni fornite dal linguaggio C sono scanf e gets. Questo articolo discute la differenza tra queste due funzioni. Il differenza fondamentale tra scanf e gets è quello scanf termina prendendo input incontrando uno spazio bianco, newline o End Of File (EOF) mentre prende uno spazio bianco come parte della stringa di input e termina l'input quando incontra newline o EOF.
1. Panoramica e differenza chiave
2. Cos'è Scanf
3. Cosa viene
4. Somiglianze tra scanf e ottiene
5. Confronto affiancato - scanf vs ottiene in forma tabulare
6. Sommario
La funzione scanf può leggere l'input dalla tastiera e memorizzarli secondo l'identificatore di formato specificato. Legge l'input fino a incontrare uno spazio bianco, newline o EOF. La sintassi è la seguente.
scanf ("format string", lista di indirizzi di variabili);
Fare riferimento all'esempio riportato di seguito per comprendere scanf.
Figura 01: scanf con un input
Secondo il programma di cui sopra, l'input ottenuto dalla tastiera è un numero intero, quindi l'identificatore di formato è% d. Se sta ottenendo un valore di carattere, lo specificatore di formato è% c. Se si ottiene un valore a virgola mobile, lo specificatore di formato è% f. Il valore di input ricevuto deve essere memorizzato nella variabile number. Pertanto, l'indirizzo del numero variabile viene passato alla funzione scanf. Ora la variabile numero contiene il valore fornito dall'utente dalla tastiera. Infine, possiamo stampare la variabile numero per controllare il valore.
È anche possibile ricevere più di un valore alla volta.
Figura 02: scanf con più ingressi
Gli ingressi ricevuti sono memorizzati in numero variabile1 e numero2. I valori possono essere controllati usando printf.
viene utilizzata la funzione per ricevere input dalla tastiera fino a incontrare una nuova riga o EOF. Lo spazio bianco è considerato come una parte dell'input. La sintassi per la funzione gets è la seguente.
gets ("dove conservare la stringa");
Se si verifica un errore durante la ricezione della stringa, la funzione gets restituirà un valore null.
Fare riferimento all'esempio seguente,
Figura 03: ottiene
L'input è ricevuto dalla funzione gets e memorizzato nella variabile word1. Se il programmatore utilizza scanf invece di ottenere e immettere una stringa come "hello world", scanf leggerà la stringa come due stringhe a causa dello spazio bianco. Ma ottiene lo leggerà come una stringa "ciao mondo".
scanf vs ottiene | |
scanf è una funzione C per leggere l'input dall'input standard fino all'incontro con uno spazio bianco, newline o EOF. | gets è una funzione C per leggere l'input dallo standard input fino a incontrare una newline o EOF. Considera gli spazi bianchi come parte dell'input. |
Sintassi | |
la funzione scanf accetta la stringa di formato e l'elenco di indirizzi di variabili. per esempio. scanf ("% d", & numero); | gets function prende il nome della variabile per memorizzare il valore ricevuto. Per esempio. gets (nome); |
Flessibilità | |
scanf può leggere più valori di diversi tipi di dati. | gets () otterrà solo i dati della stringa di caratteri. |
scanf e gets sono funzioni fornite dal linguaggio di programmazione C. L'utente non ha bisogno di implementare queste funzioni dall'inizio. Possono direttamente usarli nei loro programmi. La differenza tra scanf e gets è che, scanf termina prendendo input incontrando uno spazio bianco, newline o End Of File (EOF) e prende uno spazio bianco come parte della stringa di input e termina l'input quando incontra newline o EOF. L'uso di scanf o gets dipende dal modo in cui ricevere l'input dell'utente dall'input standard che è la tastiera il più delle volte. scanf è più flessibile di quello che ottiene.
È possibile scaricare la versione PDF di questo articolo e utilizzarlo per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra scanf e ottiene
1.LearningLad., 'Scanf () Funzione in linguaggio di programmazione C Video Tutorials' YouTube, YouTube, 23 aprile 2013. Disponibile qui
2.LearningLad, 'gets () Funzione di inserimento stringa in C Language Language Tutorial', YouTube, YouTube, 6 maggio 2013. Disponibile qui