Функция scanf() предназначена для форматированного ввода данных. Строка форматов функции scanf() указывает, какие данные ожидаются на входе.

Строка форматов может включать спецификации преобразования, которые начинаются со знака %. Перед именем переменной необходимо поставить символ &, чтобы передать в функцию scanf() адрес заполняемой переменной:

/* Программа демонстрирующая возможности функции printf().
   Позволяет ввести 2 числа через пробел и подсчитать их произведение. */
#include <stdio.h>
main ()
{
  int a,b,c;
  scanf("%d %d",&a,&b);
  c=a*b;
  printf ("\nЕсли A=%d, B=%d, то A*B=%d\n\n",a,b,c);
}

В примере была использована спецификация преобразования %d два раза для ввода значений двух еременных a и b.

Перечислим несколько спецификаций преобразования:

%s для печати символьной строки

%c для вывода одного символа

%d значение выводится как десятичное число

%x значение выводится как шестнадцатеричное число

%o значение выводится как восьмеричное число

%f значение выводится как число с плавающей точкой

Между знаком % и символом преобразования может стоять число, определяющее, сколько позиций необходимо отвести под вывод аргумента.