Return type defaults

0

Hm dlaczego dostaje błąd "return type defaults to int"?

#include <stdio.h>
#include <stdlib.h>
#include "input.h" 


int x;
  fibonacci(int y){
      if(y==1 || y==0)
      return y;
   	x=fibonacci(y-1)+fibonacci(y-2);
	return x;
    }


int main(){
    int n = f_int(); 
    int f = fibonacci(n);
    printf("Fib(%d) = %d\n" , n, f); 

    return 0; 
}
2

fibonacci(int y){
nie zadeklarowałeś typu zwracanego przez funkcję.

przy okazji: nie używaj zmiennych globalnych jeśli nie musisz, w tym wypadku na pewno nie musisz.

0

Nadal mi wychodzi ten sam błąd o_O

0

Czyżby to kolejne podejście do
http://4programmers.net/Forum/C_i_C++/259508-ciag_fibonnaciego_-_do_100_000
Jeżeli tak to długa droga przed tobą.

0
#include <stdio.h>
#include <stdlib.h>
#include "input.h" 

int x;
  fibonacci(int y){
      if(y==1 || y==0)
      return y;
   	x=fibonacci(y-1)+fibonacci(y-2);
	return x;  
	return fibonacci(y-1)+fibonacci(y-2);
    }



int main(){
    int n = d_int(); 
    int f = fibonacci(n);
    printf("Fib(%d) = %d\n" , n, f); 

    return 0; 
}

yyy...

ujemny... nie...mi chodzi tylko i wyłącznie o błąd

1
Tol napisał(a):
#include <stdio.h>
#include <stdlib.h>
#include "input.h" 

int x;
  fibonacci(int y){
      if(y==1 || y==0)
      return y;
   	x=fibonacci(y-1)+fibonacci(y-2);
	return x;  
	return fibonacci(y-1)+fibonacci(y-2);
    }



int main(){
    int n = d_int(); 
    int f = fibonacci(n);
    printf("Fib(%d) = %d\n" , n, f); 

    return 0; 
}

yyy...

ujemny... nie...mi chodzi tylko i wyłącznie o błąd

W takim razie odpowiedź podał już ktoś inny, funkcja fibonacci() musi mieć zadeklarowany typ. Zwracasz int, więc deklaracja powinna wyglądać tak

int fibonacci(int y)
0

Aaaaaa o to chodziło xD głupi ja. Thx

1 użytkowników online, w tym zalogowanych: 0, gości: 1