logo

nuskaitymas C

C programavimo kalboje scanf yra funkcija, kuri reiškia Scan Formatted String. Jis naudojamas duomenims nuskaityti iš stdin (standartinis įvesties srautas, t. y. dažniausiai klaviatūra) ir tada įrašo rezultatą į pateiktus argumentus.

  • Jis priima simbolius, eilutes ir skaitinius duomenis iš vartotojo, naudodamas standartinę įvestį.
  • „scanf“ taip pat naudoja formato specifikacijas, tokias kaip printf.

scanf sintaksė

Scanf() sintaksė C yra panaši į printf() sintaksę.



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

Čia

    int yra grąžinimo tipas. formatas yra eilutė, kurioje yra formato specifikacijos (-os). … rodo, kad funkcija priima kintamą argumentų skaičių.

Scanf atpažintų formatų specifikacijų pavyzdžiai:

%d priimti sveikųjų skaičių įvestį.



dvejetainio paieškos medžio pavyzdys

%ld priimti ilgųjų sveikųjų skaičių įvestį

%lld priimti ilgų ilgų sveikųjų skaičių įvestį

%f priimti realaus skaičiaus įvestį.



%c priimti simbolių tipų įvestį.

%s priimti eilutės įvestį.

Norėdami sužinoti daugiau apie formato specifikacijas, žr. šį straipsnį – Formato specifikacijos C

Pavyzdys:

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

Scanf įrašys vartotojo įvestą reikšmę į sveikąjį kintamąjį buvo.

Grąžinama scanf vertė

Scanf C pateikia trijų tipų reikšmes:

    >0: sėkmingai konvertuotų ir priskirtų verčių skaičius. 0: nebuvo priskirta jokia reikšmė. <0: įvyko skaitymo klaida arba failo pabaiga (EOF) pasiekta prieš atliekant bet kokį priskyrimą.

Kodėl &?

Nuskaitydamas įvestį, scanf turi kažkur saugoti tuos įvesties duomenis. Norėdami išsaugoti šiuos įvesties duomenis, „scanf“ turi žinoti kintamojo atminties vietą. Ir štai gelbsti ampersandas.

  • & taip pat vadinamas operatoriaus adresu.
  • Pavyzdžiui, &var yra var adresas.

Scanf pavyzdys

Žemiau yra C programa, skirta įgyvendinti 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;> }>

>

>

Išvestis

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

Susijęs straipsnis:

  • Nuskaityti rinkiniai C