Počakajte na vnos uporabnika: jezik C

Wait User Input C Language

V programskem jeziku C obstaja nekaj vhodnih funkcij. S temi funkcijami lahko počakamo na vnos uporabnika. V tej vadnici bomo podrobno obravnavali vhodne funkcije.

Oblika niza

Format niz je format za vnesene podatke. Ta oblika se začne z znakom %, ki ji sledi specifikator oblike. Specifikator oblike je poseben znak, za katerega se bere vrsta podatkov.



arg1, arg2, arg3… so naslovi spremenljivk, kjer bodo shranjeni vneseni podatki.



funkcija scanf ()

Sintaksa: int scanf (formatni niz, arg1, arg2, arg3 ...)



Nekateri pogosto uporabljeni specifikatorji so naslednji:

  • d - Uporablja se za celoštevilčne vrednosti.
  • f - Uporablja se za plavajočo številko.
  • c - Uporablja se za vrednost enega znaka.
  • s - Uporablja se za strune.

Uporaba single scanf () funkcijo, lahko uporabnik vzame en ali več vnosov.

The scanf () funkcija vnese vhod iz standardnega vnosa (tipkovnica) in vrednost shrani v spremenljivko. Funkcija počaka na vnos uporabnika, dokler uporabnik ne pritisne tipke enter. Vnesena vrednost se shrani v medpomnilnik. Ko pritisnete tipko za vnos, scanf () funkcija začne brati.



Primer 1: Celobrojni vnos

//Primer1.c
#vključi

intglavni(){

intjaz;
printf ('Vnesite prvo celoštevilsko vrednost:');
scanf ('%d', &jaz);
printf ('Vstopili ste: %d n',jaz);

printf ('Vnesite 2. celoštevilsko vrednost:');
scanf ('%d', &jaz);
printf ('Vstopili ste: %d n',jaz);

vrnitev 0;
}

V primeru 1.c smo videli, da ko vnesemo celoštevilčne vrednosti in pritisnemo tipko enter. The scanf () funkcija vzame vrednost in jo shrani v spremenljivko. Če vnesemo vrednosti, ločene s presledkom, se funkcija vrne, ko naletimo na presledek, vendar vrednosti po presledku ostanejo v vhodnem medpomnilniku. Zato drugi scanf () funkcija ne bo čakala na vnos uporabnika, temveč bo vzela vnos iz vmesnega pomnilnika.

Primer 2: Vnos z enim znakom

//Primer2.c
#vključi

intglavni(){

charc;
printf ('Vnesite znak:');
scanf ('% c', &c);
printf ('Vstopili ste: %c n',c);

vrnitev 0;
}

V primeru2.c smo to videli, ko uporabljamo % c specifikator, scanf () funkcija vzame samo en znak, tudi če smo vnesli več znakov.

Primer 3: Vnos z enim znakom (večkrat)

//Primer3.c
#vključi

intglavni(){

charc;
printf ('Vnesite prvi znak:');
scanf ('% c', &c);
printf ('Vstopili ste: %c n',c);

printf ('Vnesite drugi znak:');
scanf ('% c', &c);
printf ('Vstopili ste: %c n',c);

vrnitev 0;
}

Primer 4 :

//Primer4.c
#vključi

intglavni(){

charc;
printf ('Vnesite prvi znak:');
scanf ('% c', &c);
printf ('Vstopili ste: %c n',c);

printf ('Vnesite drugi znak:');
scanf ('% c', &c);
printf ('Vstopili ste: %c n',c);

vrnitev 0;
}

Primer 5: Vnos niza

//Primer5.c
#vključi

intglavni(){

charime[petnajst];
printf ('Vnesite svoje ime: ');
scanf ('%s',ime);
printf ('Vstopili ste: %s n',ime);

vrnitev 0;
}

funkcija getc ()

Sintaksa: int getc (FILE *tok)

getc () funkcija se uporablja za branje znaka iz kazalca FILE (tok). Za branje s tipkovnice moramo uporabiti stdin . Ta funkcija vrne celo število prebranega znaka.

Primer 6:

//Primer6.c
#vključi

intglavni(){

charc;
printf ('Vnesite prvi znak:');
medtem((c= getc (stdin))==' n');
printf ('Vstopili ste: %c n',c);

medtem( getc (stdin)! =' n');

printf ('Vnesite drugi znak:');
medtem((c= getc (stdin))==' n');
printf ('Vstopili ste: %c n',c);

vrnitev 0;
}

funkcija getchar ()

Sintaksa: int getchar (void)

getchar () funkcija je enaka kot getc () . Edina razlika je v tem getc () funkcija lahko bere iz katerega koli vhodnega toka, medtem ko getchar () funkcija bere samo s standardnega vhoda.

Primer 7:

//Primer7.c
#vključi

intglavni(){

charc;
printf ('Vnesite prvi znak:');
medtem((c= getchar ())==' n');
printf ('Vstopili ste: %c n',c);

medtem( getchar ()! =' n');

printf ('Vnesite drugi znak:');
medtem((c= getchar ())==' n');
printf ('Vstopili ste: %c n',c);

vrnitev 0;
}

Zaključek

V tem članku smo videli, kako se vnosne funkcije uporabljajo v jeziku C. Vse te funkcije so vnesene iz vhodnega vmesnega pomnilnika in ko te funkcije uporabljamo večkrat, moramo počistiti medpomnilnik. V nasprotnem primeru funkcije ne bodo počakale na vnos uporabnika in vzele vnos iz vmesnega pomnilnika.