Next: String Input Conversions, Previous: Table of Input Conversions, Up: C-Style I/O Functions [Contents][Index]
This section describes the scanf
conversions for reading numeric
values.
The ‘%d’ conversion matches an optionally signed integer in decimal radix.
The ‘%i’ conversion matches an optionally signed integer in any of the formats that the C language defines for specifying an integer constant.
For example, any of the strings ‘10’, ‘0xa’, or ‘012’
could be read in as integers under the ‘%i’ conversion. Each of
these specifies a number with decimal value 10
.
The ‘%o’, ‘%u’, and ‘%x’ conversions match unsigned integers in octal, decimal, and hexadecimal radices, respectively.
The ‘%X’ conversion is identical to the ‘%x’ conversion. They both permit either uppercase or lowercase letters to be used as digits.
By default, integers are read as 32-bit quantities. With the ‘h’ modifier, 16-bit integers are used, and with the ‘l’ modifier, 64-bit integers are used.
The ‘%e’, ‘%f’, ‘%g’, ‘%E’, and ‘%G’ conversions match optionally signed floating-point numbers. All five conversion specifications behave identically, and will read in numerical values of any floating point display style.