Skirtumas tarp scanf ir gets

Turinys:

Skirtumas tarp scanf ir gets
Skirtumas tarp scanf ir gets

Video: Skirtumas tarp scanf ir gets

Video: Skirtumas tarp scanf ir gets
Video: Taylor Swift - Shake It Off 2024, Lapkritis
Anonim

Pagrindinis skirtumas – scanf vs gets

Funkcija yra teiginių rinkinys, skirtas konkrečiai užduočiai atlikti. Nerašant visų teiginių toje pačioje programoje, ją galima suskirstyti į kelias funkcijas. Programuodamas vartotojas gali pats apibrėžti savo funkcijas. Taip pat yra programavimo kalbų teikiamų funkcijų. C kalba suteikia daugybę funkcijų, todėl programuotojas gali jomis naudotis tiesiogiai, neįdiegęs jų nuo pat pradžių. Dvi tokios funkcijos, kurias teikia C kalba, yra scanf ir gets. Šiame straipsnyje aptariamas šių dviejų funkcijų skirtumas. Pagrindinis skirtumas tarp „scanf“ir „gets“yra tas, kad „scanf“baigia įvesti įvesties tarpą, naują eilutę arba failo pabaigą (EOF), o „gets“tarpą laiko įvesties eilutės dalimi ir užbaigia įvestį, kai susiduria su nauja eilute arba EOF.

Kas yra scanf?

Scanf funkcija gali nuskaityti klaviatūros įvestį ir išsaugo ją pagal nurodytą formato specifikaciją. Jis skaito įvestį, kol susiduria su tarpais, nauja eilute arba EOF. Sintaksė yra tokia.

scanf(“formato eilutė”, kintamųjų adresų sąrašas);

Žr. toliau pateiktą pavyzdį, kad suprastumėte scanf.

Skirtumas tarp scanf ir gets
Skirtumas tarp scanf ir gets
Skirtumas tarp scanf ir gets
Skirtumas tarp scanf ir gets

01 pav.: nuskaitymas naudojant vieną įvestį

Pagal aukščiau pateiktą programą, įvestis, gaunama iš klaviatūros, yra sveikasis skaičius, todėl formato specifikacija yra %d. Jei ji gauna simbolio reikšmę, formato specifikacija yra %c. Jei gaunama slankiojo kablelio reikšmė, formato specifikacija yra %f. Gauta įvesties reikšmė turėtų būti saugoma skaičiaus kintamajame. Todėl kintamojo numerio adresas perduodamas funkcijai scanf. Dabar skaičiaus kintamajame yra reikšmė, kurią vartotojas suteikė iš klaviatūros. Galiausiai galime atspausdinti skaičiaus kintamąjį, kad patikrintume vertę.

Taip pat galima gauti daugiau nei vieną vertę vienu metu.

Skirtumas tarp scanf ir gets_02 pav
Skirtumas tarp scanf ir gets_02 pav
Skirtumas tarp scanf ir gets_02 pav
Skirtumas tarp scanf ir gets_02 pav

02 pav.: nuskaitymas su keliomis įvestimis

Gautos įvestys saugomos kintamuosiuose number1 ir number2. Vertes galima patikrinti naudojant printf.

Kas gauna?

Funkcija gets naudojama gauti įvestį iš klaviatūros, kol atsiranda nauja eilutė arba EOF. Tarpas laikomas įvesties dalimi. Funkcijos gets sintaksė yra tokia.

gets("kur laikyti eilutę");

Jei gaunant eilutę įvyksta klaida, funkcija gets grąžins nulinę reikšmę.

Žr. toliau pateiktą pavyzdį,

Pagrindinis skirtumas tarp „scanf“ir „gets“
Pagrindinis skirtumas tarp „scanf“ir „gets“
Pagrindinis skirtumas tarp „scanf“ir „gets“
Pagrindinis skirtumas tarp „scanf“ir „gets“

03 pav.: gauna

Įvestį gauna funkcija gets ir išsaugoma kintamajame word1. Jei programuotojas naudojo „scanf“, o ne „gets“ir įvedė eilutę, pvz., „labas pasaulis“, „scanf“nuskaitys eilutę kaip dvi eilutes dėl tarpo. Tačiau Gets tai skaitys kaip vieną eilutę „labas pasaulis“.

Kokie yra scanf ir gets panašumai?

  • Abi yra funkcijos, kurias teikia C programavimo kalba.
  • Abejose turi būti antraštės failas stdio.h, kad būtų galima naudoti šias funkcijas.
  • Abu gali būti naudojami norint gauti įvestį iš standartinės įvesties.

Kuo skiriasi scanf ir gets?

scanf vs gets

scanf yra C funkcija, skirta skaityti įvestį nuo standartinės įvesties iki tarpo, naujos eilutės arba EOF. gets yra C funkcija, skirta nuskaityti įvestį nuo standartinės įvesties iki naujos eilutės arba EOF. Tarpai laikomi įvesties dalimi.
Sintaksė
Funkcija scanf paima formato eilutę ir kintamųjų adresų sąrašą. pvz. scanf("%d", &skaičius); Funkcija gets paima kintamojo pavadinimą, kad išsaugotų gautą reikšmę. Pvz. gets(name);
Lankstumas
scanf gali nuskaityti kelias skirtingų duomenų tipų reikšmes. gets() gaus tik simbolių eilutės duomenis.

Santrauka – scanf vs gets

scanf ir gets yra funkcijos, kurias teikia programavimo kalba C. Vartotojui nereikia diegti šių funkcijų nuo pat pradžių. Jie gali juos tiesiogiai naudoti savo programose. Skirtumas tarp „scanf“ir „gets“yra tas, kad „scanf“baigia įvestis, kai aptinka tarpą, naują eilutę arba failo pabaigą (EOF), o tarpą laiko įvesties eilutės dalimi ir baigia įvestį, kai susiduria su nauja eilute arba EOF.„Scanf“arba „gets“naudojimas priklauso nuo to, kaip gauti vartotojo įvestį iš standartinės įvesties, kuri dažniausiai yra klaviatūra. scanf yra lankstesnis nei gets.

Atsisiųskite „scanf vs gets“PDF versiją

Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia Skirtumas tarp scanf ir gets

Rekomenduojamas: