why there is infinite recursion?
<p>Given the following function definition, what value is returned by the call <code>dub(2.0, 4)</code>?</p>

<pre><code>double dub(double z, int n) {
    if (z == 0) return z;
    return 2 * dub(z, n-1);
}
</code></pre>