Преобразования типов, прототипы и т.д. по списку...
От: maximum28  
Дата: 13.11.04 19:25
Оценка:
Намедни попался мне под руку следующий, на первый взгляд, ничем не примечательный код:

#include <stdio.h>
#include <math.h>

static int vklad=2000, rost=7;
int main()
{
float schet(void);
printf("schet=%.3f\n",schet()); 
}

float schet(void)
{
return vklad*powf((100.+rost)/100., 20.);
}


Все компилится. Работает. Выводит 7739.376.
Если вспомнить теорию Си, то вообще-то, определение прототипа функции не обязятельно.
Допустим. Удаляем определение прототипа ф-ции float schet(void) из проги.
Компилируем. Слушаем надоедливые ворчания компилятора.
Запускаем исплоняемый файл и получаем ... -1.999!!!
Почему?!
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.