logo

Образовательная поддержка I В помощь студенту и аспиранту

Стандартная функция scanf

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


    БНФ:
             "scanf" "(" формат { "," аргумент } ")"
    Пример:
             scanf( "%d", &n );

Перед именем аргумента функции подставляется знак &, который делает переменную n доступной для изменения. Строго говоря, операция & означает получение адреса объекта данных, т.е. мы сообщаем функции scanf информацию о том, где находится ячейка, в которую необходимо занести данные. При использовании функции scanf совместно с данными типа int, long, float, double, перед именем переменной всегда должен стоять знак &. При использовании функции для ввода символьной строки знак & не нужен, т.к. имя массива символов и так означает адрес.

Например:

    char name[41];
    scanf( "%s", name );

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

Функция scanf возвращает число успешно прочитанных элементов данных. Это свойство можно использовать для проверки правильности ввода.

Функцию scanf нужно использовать совместно с printf для вывода подсказки.

Например:

     printf(  "Введите  ваше  имя  ");
     scanf("%s", name );