4) точка, отделяющая размер поля от последующей строки цифр (только для преобразования строк %s) - строка цифр указывает максимальное число символов, выводимых в одной строке.
Символы преобразования:
d - десятичное число со знаком;
u - десятичное число без знака;
О - восьмеричное число без знака (и без ведущего 0);
х - шестнадцатеричное число без знака (и без ведущего 0);
s - символьная строка;
с - одиночный символ;
f- действительное число в представлении с фиксированной точкой;
е-действительное число в экспоненциальном представлении;
g - наиболее короткое представление действительного числа; и др.
Функцией ввода, аналогичной функции вывода printf(), является scanf() - стандартная функция форматного ввода.
Обращение к этой функции имеет вид
sсаnf(<формат>,<&имя1>,<&имя2>,...,<&имяN>);
где <имя1>, <имя2>, ..., <имяN> - имена переменных, значения которых надо ввести. Наличие символа "&" перед каждым именем обязательно (кроме переменных строкового типа), его смысл будет пояснен ниже.
При обращении к функции scanf выполнение программы приостанавливается, ожидается ввод значений указанных переменных, после чего работа программы продолжается.
В качестве спецификаций в формате можно использовать те же символы, что и в функции printf(). Спецификации формата должны соответствовать количеству и типу вводимых переменных. В управляющей строке функции scanf нет промежуточных управляющих символов между % и символом преобразования, за исключением "*". Если присутствует символ *, входное поле просто пропускается и никакого присваивания не производится. Обычные символы (кроме °о) сопоставляются с очередными (отличными от символов промежутков) символами входного потока, и в случае отличия дальнейший ввод игнорируется.
Программа 83
#include<stdio.h>
main()
(
int data,month,year; char name[15],town[15];
printf("Kaк вас зовут? "); scanf("%s",name); printf("Укажите дату, месяц и год вашего рождения.\пДата:");
scanf("%d",%data) ;
printf ("Месяц (числом) :") ; scanf ("%d", Sinonth) ;
printf("Год:"); scant("%d",&year);
printf("А в каком городе? "); scanf("%s",town);
printf("Вот мы и познакомились...\n");
printf("Вас
зовут %s ",name); printf("Вы
родились в
городе %s (%d.%d.%d)",town,data, month,year);)
Результат работы программы:
Как вас зовут? Иван
Укажите дату, месяц и год вашего рождения.
Дата : 23
Месяц (номером): 02
Год: 1054
А в каком городе? Новгород
Вот мы н познакомились...
Вас зовут Иван
Вы родились в городе Новгород
(23.02.1054)