W języku programowania C scanf to funkcja, która oznacza Scan Formatted String. Służy do odczytywania danych ze stdin (standardowy strumień wejściowy, czyli zwykle klawiatura), a następnie zapisywania wyniku do podanych argumentów.
- Akceptuje dane znakowe, łańcuchowe i numeryczne od użytkownika przy użyciu standardowego wejścia.
- scanf używa również specyfikatorów formatu, takich jak printf.
scanf Składnia
Składnia scanf() w C jest podobna do składni printf().
Niezbędna kompilacja Ubuntu
int scanf( const char * format , ... );>
Tutaj,
- int jest typem zwracanym. format to ciąg znaków zawierający specyfikatory formatu. … wskazuje, że funkcja przyjmuje zmienną liczbę argumentów.
Przykładowe specyfikatory formatu rozpoznawane przez scanf:
%D zaakceptować wprowadzanie liczb całkowitych.
%ld akceptować wprowadzanie długich liczb całkowitych
%lld akceptować wprowadzanie długich, długich liczb całkowitych
%F zaakceptować wprowadzenie liczby rzeczywistej.
%C zaakceptować wprowadzanie typów znaków.
%S zaakceptować wprowadzenie ciągu znaków.
Aby dowiedzieć się więcej na temat specyfikatorów formatu, zapoznaj się z tym artykułem – Specyfikatory formatu w C
Przykład:
int gdzie;
scanf(%d, &var);Scanf zapisze wartość wprowadzoną przez użytkownika do zmiennej całkowitej był.
Zwracana wartość scanf
Scanf w C zwraca trzy typy wartości:
obrazy przecen
- >0: Liczba wartości przekonwertowanych i przypisanych pomyślnie. 0: Nie przypisano żadnej wartości. <0: Napotkano błąd odczytu lub osiągnięto koniec pliku (EOF) przed wykonaniem jakiegokolwiek przypisania.
Dlaczego &?
Podczas skanowania danych wejściowych scanf musi gdzieś przechowywać te dane wejściowe. Aby zapisać te dane wejściowe, scanf musi znać lokalizację zmiennej w pamięci. I tu na ratunek przychodzi ampersand.
- & jest również nazywany adresem operatora.
- Na przykład &var jest adresem var.
Przykład scanf
Poniżej znajduje się program C do implementacji 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;> }> |
pandy i numpy
>
>
Wyjście
Enter first number: 5 Enter second number: 6 A : 5 B : 6>
Powiązany artykuł:
- Scansety w C