MudGuard: Stack Overflow ??

Beitrag lesen

Hi,

static int multiply(int a, int b)
  {
  if((a>0)&&(b>0))
    if(a==1)
      return b;
    else
      return multiply(a-1,b)+b;
  else
    return 0;
  }

Ich denke mal dass der Compiler es deswegen anmeckert,

Also kriegst Du jetzt einen Compilerfehler oder einen Laufzeitfehler (Stack Overflow)?

Compilierbar müßte es eigentlich sein.
Mit welchen Werten rufst Du das Teil auf?
Bei großen Werten für a könnte ich mir durchaus vorstellen, daß das problematisch ist - schließlich wird eine Rekursionstiefe erreicht, die a entspricht (+/- 1, ist mir jetzt zu aufwendig, drüber nachzudenken).

cu,
Andreas

--
MudGuard? Siehe http://www.Mud-Guard.de/