V programovacom jazyku C je scanf funkcia, ktorá znamená Scan Formatted String. Slúži na čítanie dát zo stdin (štandardný vstupný tok t.j. zvyčajne klávesnica) a následne zapísanie výsledku do daných argumentov.
- Prijíma znaky, reťazce a číselné údaje od používateľa pomocou štandardného vstupu.
- scanf tiež používa špecifikátory formátu ako printf.
scanf Syntax
Syntax scanf() v C je podobná syntaxi printf().
int scanf( const char * format , ... );>
Tu,
- int je návratový typ. format je reťazec, ktorý obsahuje špecifikátory formátu. … označuje, že funkcia prijíma premenlivý počet argumentov.
Príklady špecifikátorov formátu rozpoznávaných programom scanf:
%d akceptovať zadávanie celých čísel.
%ld akceptovať vstup dlhých celých čísel
%lld akceptovať vstup dlhých dlhých celých čísel
java porovnávať reťazce%f akceptovať zadanie reálneho čísla.
%c akceptovať zadávanie typov znakov.
%s akceptovať zadanie reťazca.
Viac informácií o špecifikátoroch formátu nájdete v tomto článku – Špecifikátory formátu v C
Príklad:
pole reťazcov v programovaní v c
int kde;
scanf(%d, &var);Scanf zapíše hodnotu zadanú používateľom do celočíselnej premennej bol.
Návratová hodnota scanf
Scanf v C vracia tri typy hodnôt:
- >0: Počet úspešne konvertovaných a priradených hodnôt. 0: Nebola priradená žiadna hodnota. <0: Vyskytla sa chyba čítania alebo sa dosiahol koniec súboru (EOF) pred vykonaním akéhokoľvek priradenia.
Prečo &?
Počas skenovania vstupu potrebuje scanf tieto vstupné dáta niekde uložiť. Na uloženie týchto vstupných údajov potrebuje scanf poznať pamäťové miesto premennej. A tu prichádza ampersand na záchranu.
- & sa nazýva aj ako adresa operátora.
- Napríklad &var je adresa var.
Príklad scanf
Nižšie je uvedený program C na implementáciu scanf:
C
binárny vyhľadávací strom]
// 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;> }> |
>
>
Výkon
Enter first number: 5 Enter second number: 6 A : 5 B : 6>
Súvisiaci článok:
- Skenovacie sady v C