Razlika između scanf i gets

Sadržaj:

Razlika između scanf i gets
Razlika između scanf i gets

Video: Razlika između scanf i gets

Video: Razlika između scanf i gets
Video: 5. Teorija i praksa upravljanja rizikom 2024, Juli
Anonim

Ključna razlika – scanf vs gets

Funkcija je skup iskaza za izvođenje određenog zadatka. Bez pisanja svih naredbi u isti program, može se podijeliti na više funkcija. U programiranju, korisnik može definirati vlastite funkcije. Tu su i funkcije koje pružaju programski jezici. C jezik pruža brojne funkcije, tako da ih programer može koristiti direktno bez da ih implementira od početka. Dvije takve funkcije koje pruža jezik C su scanf i gets. Ovaj članak govori o razlici između ove dvije funkcije. Ključna razlika između scanf-a i gets-a je u tome što scanf završava unosom kada naiđe na razmak, novi red ili kraj datoteke (EOF), dok gets razmatra razmak kao dio ulaznog niza i završava unos kada naiđe na novi red ili EOF.

Šta je scanf?

Funkcija scanf može čitati unos sa tastature i pohranjuje ih u skladu sa datim specifikacijom formata. Čita unos dok ne naiđe na razmak, novi red ili EOF. Sintaksa je sljedeća.

scanf(“string formata”, lista adresa varijabli);

Pogledajte primjer dat ispod da biste razumjeli scanf.

Razlika između scanf i gets
Razlika između scanf i gets
Razlika između scanf i gets
Razlika između scanf i gets

Slika 01: skeniranje sa jednim ulazom

Prema gore navedenom programu, unos koji se dobija sa tastature je ceo broj, tako da je specifikacija formata %d. Ako dobija vrijednost znakova, specificator formata je %c. Ako dobijete vrijednost s pomičnim zarezom, specificator formata je %f. Primljena ulazna vrijednost treba biti pohranjena u brojčanoj varijabli. Stoga se adresa varijable broj prenosi u funkciju scanf. Sada brojčana varijabla sadrži vrijednost koju je korisnik dao sa tastature. Konačno, možemo ispisati varijablu broja da provjerimo vrijednost.

Takođe je moguće primiti više od jedne vrijednosti u isto vrijeme.

Razlika između scanf-a i gets_slika 02
Razlika između scanf-a i gets_slika 02
Razlika između scanf-a i gets_slika 02
Razlika između scanf-a i gets_slika 02

Slika 02: skeniranje sa višestrukim ulazima

Primljeni ulazi se pohranjuju u varijabli broj1 i broj2. Vrijednosti se mogu provjeriti korištenjem printf.

Šta dobija?

gets funkcija koristi za primanje unosa sa tastature sve dok ne naiđe na novi red ili EOF. Razmak se smatra dijelom unosa. Sintaksa za gets funkciju je sljedeća.

gets(“gdje pohraniti niz”);

Ako dođe do greške prilikom primanja stringa, funkcija gets će vratiti nultu vrijednost.

Pogledajte donji primjer,

Ključna razlika između scanf i gets
Ključna razlika između scanf i gets
Ključna razlika između scanf i gets
Ključna razlika između scanf i gets

Slika 03: dobiva

Ulaz prima funkcija gets i pohranjuje ga u promjenljivu riječ1. Ako je programer koristio scanf umjesto gets i input stringa kao što je "hello world", scanf će pročitati string kao dva niza zbog razmaka. Ali gets će to pročitati kao jedan niz "zdravo svijete".

Koje su sličnosti između scanf-a i gets?

  • Obe su funkcije koje obezbeđuje programski jezik C.
  • Oba bi trebala uključiti datoteku zaglavlja stdio.h za korištenje ovih funkcija.
  • Oba se mogu koristiti za dobijanje unosa sa standardnog ulaza.

Koja je razlika između scanf-a i geta?

scanf vs gets

scanf je C funkcija za čitanje unosa sa standardnog ulaza dok ne naiđe na razmak, novi red ili EOF. gets je C funkcija za čitanje unosa sa standardnog ulaza dok ne naiđe na novi red ili EOF. Smatra razmak kao dio unosa.
Sintaksa
scanf funkcija uzima niz formata i listu adresa varijabli. npr. scanf(“%d”, &number); gets funkcija uzima ime varijable za pohranjivanje primljene vrijednosti. Npr. gets(name);
Fleksibilnost
scanf može čitati više vrijednosti različitih tipova podataka. gets() će dobiti samo podatke niza znakova.

Sažetak – scanf vs gets

scanf i gets su funkcije koje pruža programski jezik C. Korisnik ne mora implementirati ove funkcije od početka. Mogu ih direktno koristiti u svojim programima. Razlika između scanf-a i get-a je u tome što scanf završava unosom kada naiđe na razmak, novi red ili kraj datoteke (EOF) i get razmatra razmak kao dio ulaznog niza i završava unos kada naiđe na novi red ili EOF. Korištenje scanf ili gets ovisi o načinu primanja korisničkog unosa sa standardnog ulaza koji je većinu vremena tastatura. scanf je fleksibilniji nego gets.

Preuzmite PDF verziju scanf vs gets

Možete preuzeti PDF verziju ovog članka i koristiti ga za vanmrežne svrhe prema napomeni o citatu. Molimo preuzmite PDF verziju ovdje Razlika između scanf-a i gets

Preporučuje se: