[warning] converting to int from float

Witam!

Mam problem napisałam funkcję która szuka n-tego wyrazu ciągu oto kod:

int ntywyraz(int n){

    float a0 =1.00, a1=1.00, an;

   // an=(a0*(n-1)) + 3*a0*(n-2);

    an=2.5;

    return an;

    }

za komentowałam wzór wychodzą jakieś śmieci, a za an podstawiłam 2.5 by sprawdzić gdzie mam błąd. funkcja w main wygląda tak:

printf("podaj ktory wyraz ciagu mam obliczyc:\t");

    scanf("%f", & n);

    nty=ntywyraz(n);

    printf("\n n-ty wyraz ciagu to:\t %f", nty);

zmienna n jest typu int, nty jest typu float. kompilator wyświetla 2.0000… i w dodatku informuję mnie o takim błędzie:

in function int ntywyraz(int):

[warning] converting to int from float

nie wiem gdzie robię błąd, proszę o pomoc i wyrozumiałość, jestem tylko kobietą :stuck_out_tongue_winking_eye:

To nie błąd, tylko ostrzeżenie. Zmienną an w funkcji ntywyraz jest typu float (wartość 2.5), a funkcja zwraca int – tracisz informację.

dzięki, głupi błąd… jesteś wielki :smiley: