Вопрос обозначения указателя - PullRequest
1 голос
/ 03 июня 2011

Я использую 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 ]

2 голосов
/ 03 июня 2011

Пожалуйста, смотрите этот FAQ: Программа Turbo C, которая вылетает и говорит что-то вроде «форматы с плавающей запятой не связаны».

Решение, которое они предлагают, состоит в том, чтобы добавить фиктивный вызов к функции sqrt, чтобы компилятор / компоновщик обнаружил, что вам нужна связанная поддержка с плавающей точкой. Я ожидаю, что также будет опция для вашего компилятора и / или IDE, которую вы могли бы установить вместо этого, но я ничего не знаю о Turbo C.

1 голос
/ 03 июня 2011

Вам необходимо включить связывание библиотеки с плавающей запятой в TurboC, из опций> линкеры> библиотека> с плавающей запятой.

...