merhabalar c dilinde float girdiğim bir sayıyı integer olarak yazdırmaya çalıştığımda (-)li bir sonuç veriyor sebebi nedir?

Kod:
int a,b;
float c;

**** main()
{

a=14; b=5;
c=5.47;

printf("%i \n %i \n %f ",a,b,c);

}

sonuç:
14
5
5.470000
%i olarak değiştirdiğimde

[code]

merhabalar c dilinde float girdiğim bir sayıyı integer olarak yazdırmaya çalıştığımda (-)li bir sonuç veriyor sebebi nedir?

Kod:
int a,b;
float c;

**** main()
{

a=14; b=5;
c=5.47;

printf("%i \n %i \n %i ",a,b,c);

}



sonuç:
14
5
-1610612736