Функция sscanf не распознает шестнадцатеричное число, INF и NAN
Имеется следующий код:
char string[] = "0xa.1fp10";
double num;
sscanf(string, "%lf", &num);
printf("%lf\n", num);
По идее ответ должен быть 10364.0, но программа выдает 0.0. Также sscanf не распознает INF и NAN:
sscanf("inf", "%lf", &num);
sscanf("nan", "%lf", &num);
В чем причина?