Традиционно для чтения десятичного числа используются спецификаторы %d или %i.
Для чтения числа с плавающей точкой, представленного в стандартной или научной нотации, используются спецификаторы %e, %fили %g.
Можно использовать scanf() для чтения целых чисел в восьмеричном или шестнадцатиричном формате, используя спецификаторы %о и %х соответственно. %х может быть записан как строчными, так и прописными буквами. Следующая программа осуществляет ввод восьмеричного и шестнадцатиричного чисел:
#include <stdio.h>
int main(void)
{
int i, j;
scanf(“%o%x”, &i, &j);
printf(“%o %x”, i, j);
}
Ввод беззнаковых целых
Для ввода беззнаковых целых используется спецификатор формата %u. Например:
unsigned num;
scanf(“%u”, &num);
Чтение одиночных символов
Как показано ранее, можно читать отдельные символы, используя функции getchar() или getche(). Для этих целей также можно использовать и scanf(), для чего нужно указать спецификатор формата %с.
Хотя пробелы, табуляции и новые строки используются как разделители полей при чтении других типов данных, при чтении отдельных символов специальные символы читаются так же, как и обычные символы. Например, при вводе «х у» фрагмент кода:
scanf(“%c%c%c”, &a, &b, &c);
вернет символ х в а, пробел в b и символ у в с.