logo

scanf v C

V programovacím jazyce C je scanf funkce, která znamená Scan Formatted String. Slouží ke čtení dat ze stdin (standardní vstupní proud, tj. obvykle klávesnice) a výsledek pak zapisuje do daných argumentů.

  • Přijímá znaková, řetězcová a číselná data od uživatele pomocí standardního vstupu.
  • scanf také používá specifikátory formátu jako printf.

syntaxe scanf

Syntaxe scanf() v C je podobná syntaxi printf().



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

Tady,

    int je návratový typ. format je řetězec, který obsahuje specifikátory formátu. … označuje, že funkce přijímá proměnný počet argumentů.

Příklady specifikátorů formátu rozpoznávaných scanf:

%d přijímat zadání celých čísel.



%ld přijímat zadávání dlouhých celých čísel

%lld přijímat zadávání dlouhých dlouhých celých čísel

%F přijmout zadání reálného čísla.



%C přijímat zadání typů znaků.

%s přijmout zadání řetězce.

Další informace o specifikátorech formátu naleznete v tomto článku – Specifikátory formátu v C

Příklad:

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

Scanf zapíše hodnotu zadanou uživatelem do celočíselné proměnné byl.

Návratová hodnota scanf

Scanf v C vrací tři typy hodnot:

    >0: Počet úspěšně převedených a přiřazených hodnot. 0: Nebyla přiřazena žádná hodnota. <0: Došlo k chybě čtení nebo bylo dosaženo konce souboru (EOF) před provedením jakéhokoli přiřazení.

Proč &?

Při skenování vstupu potřebuje scanf tato vstupní data někam uložit. Pro uložení těchto vstupních dat potřebuje scanf znát paměťové umístění proměnné. A zde přichází ampersand k záchraně.

java seznam do pole
  • & se také nazývá jako adresa operátora.
  • Například &var je adresa var.

Příklad scanf

Níže je uveden program C pro implementaci 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;> }>

>

>

Výstup

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

Související článek:

  • Skenovací sady v C