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: Программирование на Си! scanf() VS fgets() VS gets() Какие из них лучше? 2024, Luglio
Anonim

Differenza chiave – scanf vs gets

Una funzione è un insieme di istruzioni per eseguire un compito specifico. 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. Il differenza fondamentale tra scanf e gets è quello scanf termina l'input quando incontra uno spazio bianco, 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.

Cos'è scanf?

La funzione scanf può leggere l'input dalla tastiera e memorizzarli in base allo specificatore di formato specificato. Legge l'input finché non incontra uno spazio bianco, una nuova riga o EOF. La sintassi è la seguente.

scanf(“format string”, elenco di indirizzi delle variabili);

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

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

Figura 01: scanf con un ingresso

Secondo il programma sopra, l'input ricevuto 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 number. Pertanto, l'indirizzo della variabile numero viene passato alla funzione scanf. Ora la variabile numero contiene il valore dato dall'utente dalla tastiera. Infine, possiamo stampare la variabile numero per controllare il valore.

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

Differenza tra scanf e gets_Figure 02
Differenza tra scanf e gets_Figure 02
Differenza tra scanf e gets_Figure 02
Differenza tra scanf e gets_Figure 02

Figura 02: scanf con ingressi multipli

Gli ingressi ricevuti sono memorizzati nella variabile numero1 e numero2. I valori possono essere verificati utilizzando printf.

Cosa si ottiene?

La funzione gets viene utilizzata 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 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
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 gets e ha inserito una stringa come "hello world", scanf leggerà la stringa come due stringhe a causa degli spazi bianchi. 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 usati per ottenere input dall'input standard.

Qual è la differenza tra scanf e gets?

scanf vs ottiene

scanf è una funzione C per leggere l'input dall'input standard fino a incontrare uno spazio bianco, una nuova riga o EOF. gets è una funzione C per leggere l'input dall'input standard fino a quando non si incontra una nuova riga o EOF. Considera gli spazi bianchi come una parte dell'input.
Sintassi
La funzione scanf prende la stringa di formato e l'elenco degli indirizzi delle variabili. per esempio. scanf(“%d”, &number); La funzione gets prende il nome della variabile in cui 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.

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 l'input quando incontra uno spazio bianco, newline o End Of File (EOF) e gets considera 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 si riceve l'input dell'utente dall'input standard che è la maggior parte delle volte la tastiera. scanf è più flessibile di gets.

Scarica la versione PDF di scanf vs gets

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

Consigliato: