Re: Преобразования типов, прототипы и т.д. по списку...
От: Phoenixx  
Дата: 13.11.04 20:06
Оценка:
Здравствуйте, 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, то ее нужно объявить
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.