logo

scanf v C

V programskem jeziku C je scanf funkcija, ki pomeni Scan Formatted String. Uporablja se za branje podatkov iz stdin (standardni vhodni tok, tj. običajno tipkovnica) in nato zapiše rezultat v dane argumente.

  • Sprejema znake, nize in številske podatke od uporabnika s standardnim vnosom.
  • scanf uporablja tudi specifikatorje formata, kot je printf.

scanf Sintaksa

Sintaksa scanf() v C je podobna sintaksi printf().



int scanf(  const char * format , ... );>

tukaj,

    int je povratni tip. format je niz, ki vsebuje specifikatorje formata. … označuje, da funkcija sprejema spremenljivo število argumentov.

Primeri specifikatorjev formata, ki jih prepozna scanf:

%d da sprejme vnos celih števil.



%ld da sprejme vnos dolgih celih števil

%lld da sprejme vnos dolgih dolgih celih števil

%f da sprejmete vnos realnega števila.



%c za sprejemanje vnosa vrst znakov.

%s da sprejme vnos niza.

Če želite izvedeti več o specifikatorjih oblike, glejte ta članek – Specifikatorji formata v C

primer:

int kje;
scanf(%d, &var);

kakšna je velikost mojega monitorja

Scanf bo vrednost, ki jo vnese uporabnik, zapisal v celoštevilsko spremenljivko je bil.

Vrnjena vrednost scanf

Scanf v C vrne tri vrste vrednosti:

    >0: Število vrednosti, ki so bile pretvorjene in uspešno dodeljene. 0: Vrednost ni bila dodeljena. <0: Napaka pri branju ali dosežen konec datoteke (EOF), preden je bila izvedena kakršna koli dodelitev.

Zakaj &?

Med pregledovanjem vnosa mora scanf te vhodne podatke nekam shraniti. Za shranjevanje teh vhodnih podatkov mora scanf poznati pomnilniško lokacijo spremenljivke. In tukaj je na pomoč znak &.

  • & se imenuje tudi kot naslov operaterja.
  • Na primer, &var je naslov var.

Primer scanf

Spodaj je program C za implementacijo scanf:

C




// C program to implement> // scanf> #include> // Driver code> int> main()> {> >int> a, b;> > >printf>(>'Enter first number: '>);> >scanf>(>'%d'>, &a);> > >printf>(>'Enter second number: '>);> >scanf>(>'%d'>, &b);> > >printf>(>'A : %d B : %d'> ,> >a , b);> > >return> 0;> }>

>

kaj je 10 od 60
>

Izhod

Enter first number: 5 Enter second number: 6 A : 5 B : 6>

Sorodni članek:

  • Scansets v C