要读取整数,请使用%d%i说明符。
要以标准或科学计数法读取浮点数,请使用%e%f%g
C99添加%a,读取浮点数。
要使用scanf()读取八进制或十六进制的整数,请分别使用%o%x格式命令。
%x可以是大写或小写。
以下程序读取八进制和十六进制数:

#include <stdio.h>

int main(void)
{
   int i, j;

   scanf("%o%x", &i, &j);
   printf("%o %x", i, j);

   return 0;
}