Вопрос обозначения указателя
Я использую TurboC. Что не так с этим кодом? Во время выполнения сообщение было "форматы с плавающей запятой не связаны" "Аварийное завершение программы". Я новичок в языке Си, и я никогда раньше не сталкивался с такого рода ошибками. Заранее спасибо!
/* averages arbitrary number of temperatures */
/* uses pointer notation */
main()
{
float temper[40]; /* Array declaration */
float sum=0.0;
int num, day=0;
do /* Puts temps in array */
{
printf("Enter temperature for day %d: ", day);
scanf("%f", temper+day);
}
while( *(temper+day++) > 0 );
num = day-1; /* number of temps entered */
for(day=0; day<num; day++) /* calculate average */
sum += *(temper+day);
printf("Average is %.1f", sum/num);
getche();
}
2 ответа
Пожалуйста, смотрите этот FAQ: Turbo C программа, которая вылетает и говорит что-то вроде "плавающие форматы не связаны".
Решение, которое они предлагают, состоит в том, чтобы добавить фиктивный вызов к sqrt
Функция такова, что компилятор / компоновщик обнаруживает, что вам нужна связанная поддержка с плавающей точкой. Я ожидаю, что также будет опция для вашего компилятора и / или IDE, которую вы могли бы установить вместо этого, но я ничего не знаю о Turbo C,
Вам необходимо включить связывание библиотеки с плавающей запятой в TurboC, выбрав "Параметры"> "Компоновщики"> "Библиотека"> "Плавающая точка".