Здравствуйте, maximum28, Вы писали:
M>Намедни попался мне под руку следующий, на первый взгляд, ничем не примечательный код:
M>M>#include <stdio.h>
M>#include <math.h>
M>static int vklad=2000, rost=7;
M>int main()
M>{
M>float schet(void);
M>printf("schet=%.3f\n",schet());
M>}
M>float schet(void)
M>{
M>return vklad*powf((100.+rost)/100., 20.);
M>}
M>
M>Все компилится. Работает. Выводит 7739.376.
M>Если вспомнить теорию Си, то вообще-то, определение прототипа функции не обязятельно.
M>Допустим. Удаляем определение прототипа ф-ции float schet(void) из проги.
M>Компилируем. Слушаем надоедливые ворчания компилятора.
M>Запускаем исплоняемый файл и получаем ... -1.999!!!
M>Почему?!
Наверно фишка тут в том, что если функция описана после main, то ее нужно объявить