Для функции, безусловно, можно передать float
, если вы предоставите прототип или переместите определение перед первым использованием функции.
Прототип (также называется прямой декларации) выглядит следующим образом:
void fun(float star, float ste, int number);
В больших проектах, прототипы идут в файлы заголовков.
Примечание: не забудьте добавить void
перед определением функции. В противном случае компилятор рассматривает вашу функцию как возвращающую int
.
Если вы опустите прототип, компилятор по умолчанию использует старые правила K & R C, чтобы решить, как передать аргументы вашей функции. Результатом является необычное поведение, которое вы видите, и , надеюсь, предупреждение о компиляторе.
Вы должны определить или объявить функцию до ее вызова. – Barmar
Что здесь не так? Что не так, так это то, что вы не говорите нам, что происходит не так. Это ваша программа? Что происходит, когда вы его компилируете? –