Witam, próbuję napisać program obliczający potęgi liczb całkowitych w funkcji, ale niezbyt mi to wychodzi.
Zasadniczo, kiedy działa potęgowanie w jednym z przypadków, inne są ignorowane albo dostaje w ogóle jakieś dziwne wyniki. Czy ktoś moze mi podpowiedzieć, co powinienem tutaj zmienić aby działało jak należy?
#include <stdio.h>
float power(float a, float b);
main()
{
float a,b;
printf("Podaj podstawe potegi i stopien potegi: \n");
scanf("%f %f", &a, &b);
printf("%f \n",power(a,b));
system("PAUSE");
}
//==========FUNKCJE=============
float power(float a, float b)
{
int i, res;
if (b > 0)
{
res = a;
for (i = 1; i < b; ++i)
{
res = (res * a);
}
}
if (b < 0)
{
res = a;
for (i = 1; i < b; ++i)
{
res = (res * a);
}
res = (1/res);
}
if (b = 0)
{
res = 1;
}
return res;
}