Like printf(), scanf() doesn't support all the conversion specifiers by default.
If you need this support, just #
define the macros INT32_IO
and/or FLOAT_IO
when stdio.c
is compiled16.
Specifier | Data types of parameter | Support |
%c |
pointer to int, char | always |
%s |
pointer to char, int, etc. | always |
%d |
pointer to int, char | always |
%u |
pointer to unsigned int, unsigned char | always |
%x |
pointer to int, char, unsigned int, unsigned char | always |
%ld |
pointer to long | always |
%lu |
pointer to unsigned long | always |
%lx |
pointer to long, unsigned long | always |
%lld |
pointer to long long | INT32_IO defined |
%llu |
pointer to unsigned long long | INT32_IO defined |
%llx |
pointer to long long, unsigned long long | INT32_IO defined |
%f |
pointer to float (standard or scientific notation) | FLOAT_IO defined |
AG 2013-04-10