Differenza Tra Scanf E Gets

Sommario:

Differenza Tra Scanf E Gets
Differenza Tra Scanf E Gets

Video: Differenza Tra Scanf E Gets

Video: Differenza Tra Scanf E Gets
Video: Программирование на C! scanf () VS fgets () VS gets () Какие лучше? 2024, Novembre
Anonim

Differenza chiave: scanf vs gets

Una funzione è un insieme di istruzioni per eseguire un'attività specifica. Senza scrivere tutte le istruzioni nello stesso programma, può essere suddiviso in più funzioni. Nella programmazione l'utente può definire le proprie funzioni. Ci sono anche funzioni fornite dai linguaggi di programmazione. Il linguaggio C fornisce una serie di funzioni, quindi il programmatore può usarle direttamente senza implementarle dall'inizio. Due di queste funzioni fornite dal linguaggio C sono scanf e gets. In questo articolo viene illustrata la differenza tra queste due funzioni. La differenza fondamentale tra scanf e gets è che scanf termina di prendere input quando incontra uno spazio vuoto, una nuova riga o End Of File (EOF) mentre gets considera uno spazio bianco come parte della stringa di input e termina l'input quando incontra una nuova riga o EOF.

CONTENUTI

1. Panoramica e differenza fondamentale

2. Che cos'è scanf

3. Che cos'è gets

4. Somiglianze tra scanf e gets

5. Confronto fianco a fianco - scanf vs gets in forma tabulare

6. Riepilogo

Cos'è scanf?

La funzione scanf può leggere l'input dalla tastiera e memorizzarli in base all'identificatore di formato specificato. Legge l'input fino a incontrare uno spazio bianco, una nuova riga o EOF. La sintassi è la seguente.

scanf ("stringa di formato", elenco di indirizzi di variabili);

Fare riferimento all'esempio fornito di seguito per comprendere scanf.

Differenza tra scanf e gets
Differenza tra scanf e gets

Figura 01: scanf con un ingresso

Secondo il programma sopra, l'input ottenuto dalla tastiera è un numero intero, quindi l'identificatore di formato è% d. Se sta ottenendo un valore di carattere, l'identificatore di formato è% c. Se si ottiene un valore a virgola mobile, l'identificatore di formato è% f. Il valore di input ricevuto deve essere memorizzato nella variabile numerica. Pertanto, l'indirizzo del numero variabile viene passato alla funzione scanf. Ora la variabile numerica contiene il valore fornito dall'utente dalla tastiera. Infine, possiamo stampare la variabile numerica per verificare il valore.

È anche possibile ricevere più di un valore alla volta.

Differenza tra scanf e gets Figura 02
Differenza tra scanf e gets Figura 02

Figura 02: scanf con più ingressi

Gli ingressi ricevuti vengono memorizzati nelle variabili numero1 e numero2. I valori possono essere verificati utilizzando printf.

Cosa si ottiene?

ottiene la funzione sta utilizzando per ricevere input dalla tastiera fino a incontrare una nuova riga o EOF. Lo spazio bianco è considerato come parte dell'input. La sintassi per la funzione gets è la seguente.

gets ("dove memorizzare la stringa");

Se si verifica un errore durante la ricezione della stringa, la funzione gets restituirà un valore nullo.

Fare riferimento all'esempio seguente,

Differenza chiave tra scanf e gets
Differenza chiave tra scanf e gets

Figura 03: ottiene

L'input viene ricevuto dalla funzione gets e memorizzato nella variabile word1. Se il programmatore ha utilizzato scanf invece di ottenere e inserire una stringa come "ciao mondo", scanf leggerà la stringa come due stringhe a causa degli spazi. Ma gets lo leggerà come una stringa "ciao mondo".

Quali sono le somiglianze tra scanf e gets?

  • Entrambe sono funzioni fornite dal linguaggio di programmazione C.
  • Entrambi dovrebbero includere il file di intestazione stdio.h per utilizzare queste funzioni.
  • Entrambi possono essere utilizzati per ottenere input dallo standard input.

Qual è la differenza tra scanf e gets?

Articolo diff. Al centro prima della tabella

scanf vs gets

scanf è una funzione C per leggere l'input dallo standard input fino a incontrare uno spazio bianco, una nuova riga o un EOF. gets è una funzione C per leggere l'input dallo standard input fino a quando non incontra una nuova riga o EOF. Considera gli spazi vuoti come parte dell'input.
Sintassi
La funzione scanf accetta la stringa di formato e l'elenco degli indirizzi delle variabili. ad esempio scanf ("% d", & number); La funzione gets prende il nome della variabile per memorizzare il valore ricevuto. Ad esempio, ottiene (nome);
Flessibilità
scanf può leggere più valori di diversi tipi di dati. gets () otterrà solo dati di stringhe di caratteri.

Riepilogo: scanf vs gets

scanf e gets sono funzioni fornite dal linguaggio di programmazione C. L'utente non ha bisogno di implementare queste funzioni dall'inizio. Possono usarli direttamente nei loro programmi. La differenza tra scanf e gets è che, scanf termina di ricevere input quando incontra uno spazio vuoto, una nuova riga o End Of File (EOF) e ottiene considera uno spazio bianco come parte della stringa di input e termina l'input quando incontra una nuova riga o EOF. L'utilizzo di scanf o gets dipende dal modo in cui ricevere l'input dell'utente dall'input standard che è la tastiera per la maggior parte del tempo. scanf è più flessibile di quanto ottiene.

Scarica la versione PDF di scanf vs gets

È possibile scaricare la versione PDF di questo articolo e utilizzarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra scanf e gets

Raccomandato: