logo

scanf v C

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