Hej! Den inre loopen går ända ned till b = 0, vilket gör att divisionen (255 * a) / b misslyckas.Mer än fem fel? ;)
Hur många fel/problem har denna kod snutten?
int func(int low_limit, int high_limit)
{
int sum, a, b;
for (a = low_limit; a <= high_limit; a++)
{
for (b = 3; b >= 0; b--)
{
sum += (255 * a) / b;
}
}
return sum;
}
Ett av de större problemen som jag ser är om man förväxlar mellan hög och låg limit vid funktionsanrop (ingen kontroll). Då kommer funktionen att returnera den Oinitierade variabeln ”sum”.
Mvh Luciano.Sv: Mer än fem fel? ;)
Sedan är frågan om man verkligen vill ha heltalsdelen av (255 * a) / b. Vore det inte bättre att ha sum som ett flyttal, t.ex. double?
Om high_limit ligger nära maximala värdet för int, ger 255 * a overflow.
Båda looparna kan elimineras genom litet matematik. (Beror möjligen på min andra punkt.)