Xcode – Предупреждение: неявное объявление функции недействительно в C99

Получение предупреждения: неявное объявление функции «Фибоначчи» недействительно на C99. Что не так?

#include  int main(int argc, const char * argv[]) { int input; printf("Please give me a number : "); scanf("%d", &input); getchar(); printf("The fibonacci number of %d is : %d", input, Fibonacci(input)); //!!! }/* main */ int Fibonacci(int number) { if(number<=1){ return number; }else{ int F = 0; int VV = 0; int V = 1; for (int I=2; I<=getal; I++) { F = VV+V; VV = V; V = F; } return F; } }/*Fibonacci*/ 

Функция должна быть объявлена ​​до ее вызова. Это можно сделать разными способами:

  • Запишите прототип в заголовке
    Используйте это, если функция должна быть вызвана из нескольких исходных файлов. Просто напишите свой прототип
    int Fibonacci(int number);
    вниз в .h файле (например, myfunctions.h ), а затем #include "myfunctions.h" в коде C.

  • Перемещение функции до ее вызова в первый раз
    Это означает, что запишите функцию
    int Fibonacci(int number){..}
    перед вашей функцией main()

  • Явно объявляю функцию до ее вызова в первый раз
    Это сочетание вышеуказанных вкусов: введите прототип функции в файле C перед вашей функцией main()

В качестве дополнительной заметки: если функция int Fibonacci(int number) должна использоваться только в файле, где она реализована, она должна быть объявлена static , чтобы она была видна только в этой единицы перевода.

Компилятор хочет знать функцию, прежде чем она сможет ее использовать.

просто объявите функцию до того, как вы ее вызовете

 #include  int Fibonacci(int number); //now the compiler knows, what the signature looks like. this is all it needs for now int main(int argc, const char * argv[]) { int input; printf("Please give me a number : "); scanf("%d", &input); getchar(); printf("The fibonacci number of %d is : %d", input, Fibonacci(input)); //!!! }/* main */ int Fibonacci(int number) { //… 

У меня такое же предупреждение (это мое приложение не может построить). Когда я добавляю C function Objective-C's .m file , но забыл объявить его в файле .h .

должен правильно вызвать функцию; like-Fibonacci: вход

  • Использование фреймворков в инструменте командной строки
  • Snow Leopard: команда make не найдена, хотя XCode установлен?
  • Чтение и поиск файлов в формате PDF
  • iAd в xcode 6 с Swift
  • Могу ли я отключить автозапуск для определенного подвью во время выполнения?
  • Каковы новые слова «for», «at», «in» в объявлениях Swift3?
  • iOS 8.1 Симулятор всегда использует раскладку клавиатуры США, несмотря на немецкую аппаратную клавиатуру
  • Как отобразить текущую версию моего приложения для пользователя?
  • Связывание статических библиотек, совместно использующих статическую библиотеку
  • Раскадровка iPhone: сцена для портретной и пейзажной сцены
  • Создание NSData из NSString в Swift
  • Давайте будем гением компьютера.