РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
621 of 815 menu

Функция scanf

Функция scanf читает данные из стандартного потока ввода (обычно с клавиатуры) и сохраняет их в переменные, адреса которых передаются в качестве аргументов. Первым параметром функция принимает строку формата, описывающую ожидаемый ввод, а последующими параметрами - адреса переменных, в которые следует записать прочитанные значения. Функция возвращает количество успешно прочитанных и присвоенных элементов.

В строке формата используются спецификаторы преобразования: "%d" для целых чисел, "%f" для чисел с плавающей точкой, "%c" для одиночного символа, "%s" для строки. Перед именем переменной обязательно ставится оператор взятия адреса &, поскольку функция должна знать, куда записывать результат.

Синтаксис

#include <cstdio> int scanf(const char* format, ...);

Пример

Давайте прочитаем целое число и число с плавающей точкой, а затем выведем их на экран:

#include <cstdio> #include <iostream> using namespace std; int main() { int a; float b; scanf("%d %f", &a, &b); cout << a << " " << b << endl; return 0; }

Если ввести 12 и 3.14, результат выполнения кода будет таким:

12 3.14

Пример

Давайте прочитаем строку и выведем её на экран:

#include <cstdio> #include <iostream> using namespace std; int main() { char str[100]; scanf("%s", str); cout << str << endl; return 0; }

Если ввести "abcde", результат выполнения кода будет таким:

"abcde"

Пример

Давайте прочитаем два целых числа и выведем их сумму. Обратите внимание на проверку возвращаемого значения функции:

#include <cstdio> #include <iostream> using namespace std; int main() { int a, b; if (scanf("%d %d", &a, &b) == 2) { cout << a + b << endl; } else { cout << "input error" << endl; } return 0; }

Если ввести 3 и 4, результат выполнения кода будет таким:

7

Смотрите также

  • функция printf,
    которая выполняет форматированный вывод
  • функция cin,
    которая читает данные из стандартного потока ввода
  • функция getline,
    которая читает строку целиком
  • функция sprintf,
    которая записывает форматированный вывод в строку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить