У дома развитие Какво е scanf? - определение от техопедия

Какво е scanf? - определение от техопедия

Съдържание:

Anonim

Определение - Какво означава Scanf?

В езика за програмиране на С, scanf е функция, която чете форматирани данни от stdin (т.е. стандартният входен поток, който обикновено е клавиатурата, освен ако не е пренасочен) и след това записва резултатите в дадените аргументи.

Тази функция принадлежи към семейство функции, които имат същата функционалност, но се различават само по своя източник на данни. Например, fscanf получава своя вход от файлов поток, докато sscanf получава своя вход от низ.

Техопедия обяснява Scanf

Функцията scanf има следния прототип / подпис:

int scanf (формат const char *, …);

където

  • int (integer) е типът връщане
  • format е низ, съдържащ спецификаторите на типа (вижте по-долу)
  • "…" (елипсис) показва, че функцията приема променлив брой аргументи; всеки аргумент трябва да е адрес на памет, на който е записан преобразуваният резултат

Един прост спецификатор за тип се състои от процент (%) и алфа символ, който показва типа. По-долу са дадени няколко примера за спецификаторите за тип, разпознати от scanf:

  • % c - символ
  • % d - Целочислено подписано
  • % x - Неподписано цяло число в шестнадесетичен формат
  • % f - Плаваща точка
  • % s - Низ

Функцията работи, като чете вход от стандартния входен поток и след това сканира съдържанието на "формат" за всеки спецификатор на формат, опитвайки се да съвпадне между двете. При успех функцията записва резултата в предадения (те) аргумент (и).

Например, ако повикването на функцията е

scanf ("% c% d", & var1, & var2);

и потребителят въведе „a1“, функцията ще запише „a“ във „var1“ и „1“ във „var2“. Ако повикването на функцията обаче е

scanf ("% x", & var);

същият вход ще бъде прочетен като шестнадесетичното число "a1", което е 161 в десетичен знак.

Функцията връща следната стойност:

  • > 0 - Броят на елементите, преобразувани и присвоени успешно.
  • 0 - Не е зададен елемент.
  • <0 - Прочетена грешка при четене или достигнати до края на файла (EOF), преди да е направено задание.
Какво е scanf? - определение от техопедия