Функции ввода информации. Функция scanf() предназначена для форматированного ввода исходной информации с клавиатуры
Функция scanf() предназначена для форматированного ввода исходной информации с клавиатуры
Общий вид этой функции:
scanf (<управляющая строка>, список адресов элементов ввода>);
Количество, тип и порядок следования форматов должен точно совпадать с количеством, типом и порядком следования вводимых объектов, иначе результат ввода непредсказуем.
Для нее также как и для printf() указывается управляющая строка, в которой указываются только модификаторы форматов (без пробелов), список аргументов. Но если функция printf() использует идентификаторы переменных, константы и выражения, то scanf() использует только указатели на переменные, то есть их адреса.
Таким образом, для ввода значения переменной перед ее идентификатором требуется указать символ &, обозначающий адрес переменной.
Если нужно ввести значение строковой переменной, то использовать символ & не нужно, так как строка - это массив символов, а ID массива эквивалентно адресу его нулевого элемента, т.е. его базовому адресу. Например:
int course;
float grant;
char name[20];
printf(" Укажите курс, стипендию, имя \n");
scanf("%d%f%s",&course, &grant, name);
Вводить данные с клавиатуры можно как в одной строке через пробелы, так и в разных строках.
Функция scanf() использует практически тот же набор спецификаций преобразования (форматов), что и функция printf(), отличия - отсутствует формат %g, форматы %e,%f - эквивалентны.
Внимание, используя функцию scanf() для ввода строки по формату %s необходимо помнить, что ввод происходит только до первого пробела. Для ввода фраз, состоящих из слов используется функция:
gets(<ID строковой переменной>);
Дата добавления: 2015-09-11; просмотров: 577;