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