The "%a" specifier is new in C99, and it is supposed to print the
floating-point number in hexadecimal form.
The __mingw_printf function does recognize "%a", and when compiled
with -D__USE_MINGW_ANSI_STDIO,
no warning is fired, so I guess it is supported.
The problem is, this function seems to fa
// a.c
#include
int main(void)
{
printf("%a\n", 1.0);
return 0;
}
when compiled without -D__USE_MINGW_ANSI_STDIO=1, got 0x1.00p+0
(in windows 7)
when compiled with -D__USE_MINGW_ANSI_STDIO=1, got 0x0p-63
also, the compiler doesn't use the mingw stdio despite -std=c99
---