Diferența cheie - scanf vs gets
O funcție este un set de instrucțiuni pentru a efectua o sarcină specifică. Fără a scrie toate declarațiile în același program, acesta poate fi împărțit în mai multe funcții. În programare, utilizatorul își poate defini propriile funcții. Există, de asemenea, funcții oferite de limbaje de programare. Limbajul C oferă o serie de funcții, astfel încât programatorul le poate folosi direct fără a le implementa de la început. Două astfel de funcții oferite de limbajul C sunt scanf și gets. Acest articol discută diferența dintre aceste două funcții. Diferența cheie între scanf și get este că scanf se termină luând intrare la întâlnirea unui spațiu alb, linie nouă sau Sfârșit de fișier (EOF), în timp ce get consideră un spațiu alb ca parte a șirului de intrare și termină intrarea la întâlnirea newline sau EOF.
CUPRINS
1. Prezentare generală și diferența cheie
2. Ce este scanf
3. Ce este obține
4. Asemănări între scanf și obține
5. Comparație side by side - scanf vs primește în formă tabelară
6. Rezumat
Ce este scanf?
Funcția scanf poate citi intrarea de la tastatură și le stochează în funcție de specificatorul formatului dat. Citește intrarea până când întâlnești un spațiu alb, o linie nouă sau un EOF. Sintaxa este următoarea.
scanf („șir de format”, lista adresei variabilelor);
Consultați exemplul de mai jos pentru a înțelege scanf.
Figura 01: scanf cu o singură intrare
Conform programului de mai sus, intrarea obținută de la tastatură este un număr întreg, deci specificatorul de format este% d. Dacă obține o valoare de caracter, specificatorul de format este% c. Dacă obțineți o valoare în virgulă mobilă, specificatorul de format este% f. Valoarea de intrare primită trebuie stocată în variabila număr. Prin urmare, adresa numărului variabil este transmisă în funcția scanf. Acum variabila numerică conține valoarea dată de utilizator de la tastatură. În cele din urmă, putem imprima variabila numerică pentru a verifica valoarea.
De asemenea, este posibil să primiți mai multe valori odată.
Figura 02: scanf cu mai multe intrări
Intrările recepționate sunt stocate în variabilele number1 și number2. Valorile pot fi verificate utilizând printf.
Ce este?
funcția gets se folosește pentru a primi intrări de la tastatură până când întâlnești o linie nouă sau EOF. Spațiul alb este considerat ca o parte a intrării. Sintaxa pentru funcția gets este după cum urmează.
gets („unde se stochează șirul”);
Dacă există o eroare la primirea șirului, funcția gets va returna o valoare nulă.
Consultați exemplul de mai jos,
Figura 03: devine
Intrarea este recepționată de funcția gets și stocată în word1 variabil. Dacă programatorul a folosit scanf în loc să obțină și să introducă un șir precum „hello world”, scanf va citi șirul ca două șiruri din cauza spațiului alb. Dar gets îl va citi ca un singur șir „salut lume”.
Care sunt asemănările dintre scanf și get?
- Ambele sunt funcții furnizate de limbajul de programare C.
- Ambele ar trebui să includă fișierul antet stdio.h pentru a utiliza aceste funcții.
- Ambele pot fi utilizate pentru a obține intrări de la intrarea standard.
Care este diferența dintre scanf și get?
Difuzarea articolului din mijloc înainte de tabel
scanf vs devine |
|
scanf este o funcție C pentru a citi intrarea de la intrarea standard până când întâlnești un spațiu alb, o linie nouă sau un EOF. | gets este o funcție C pentru a citi intrarea de la intrarea standard până când întâlnești o linie nouă sau EOF. Consideră spațiul alb ca o parte a intrării. |
Sintaxă | |
Funcția scanf ia șirul de format și lista adreselor variabilelor. de ex. scanf („% d”, & număr); | Funcția gets ia numele variabilei pentru a stoca valoarea primită. De exemplu, devine (nume); |
Flexibilitate | |
scanf poate citi mai multe valori de diferite tipuri de date. | gets () va obține doar date de caractere. |
Rezumat - scanf vs gets
scanf și get sunt funcții furnizate de limbajul de programare C. Utilizatorul nu trebuie să implementeze aceste funcții de la început. Îi pot folosi direct în programele lor. Diferența dintre scanf și get este că scanf se termină luând intrare la întâlnirea unui spațiu alb, linie nouă sau Sfârșit de fișier (EOF) și primește consideră un spațiu alb ca parte a șirului de intrare și termină intrarea la întâlnirea cu linia nouă sau EOF. Utilizarea scanf or gets depinde de modul de primire a intrărilor utilizatorului de la intrarea standard, care este tastatura de cele mai multe ori. scanf este mai flexibil decât devine.
Descărcați versiunea PDF a scanf vs gets
Puteți descărca versiunea PDF a acestui articol și o puteți folosi în scopuri offline, conform notei de citare. Vă rugăm să descărcați versiunea PDF aici Diferența dintre scanf și get