Какой-то бред со сканфом!
Машина AMD64
gcc (GCC) 4.0.2 20051125 (Red Hat 4.0.2-8)
следующий код (все вычленено до минимума)
#include <stdio.h>
int main()
{
float a,b;
scanf("%f %f", &a,&b);
printf("a=%f, b=%f\n",a,b);
return 0;
}
Ввод: строка (например)
6080307.21592 5.27e+01
Вывод получается такой:
a=6080307.000000, b=52.700001
ЧТО ДЕЛАТЬ??? Из-за этого большая программа не работает. Семь потов сошло пока я понял где ошибка. Но исправить не знаю как. Исходный файл был со fscanf или со sscanf. Перейти к более простым функциям - много гемора, так как заранее неизвестно сколько колонок во входном файле - формат определяется на лету.
В Гугле я таких глюков не нашел. ПОЧЕМУ ОН ОКРУГЛЯЕТ ПЕРВУЮ ПЕРЕМЕННУЮ???


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум scanf (2005)
- Форум Загадки при считывании scanf'ом в C (2016)
- Форум gcc, scanf. bug или кривые руки? (2008)
- Форум scanf(«%s»,char*) Что-то не так :( (2011)
- Форум почему так? (2014)
- Форум Что происходит в этом коде (2014)
- Форум gcc & math.h (2003)
- Форум Дурацкий вопрос про Си (2019)
- Форум Регулярные выражения на C (2016)
- Форум GCC странно считает float (2010)