This Scilab function is supposed to compute the factorial of n. But it gives an error stated below:
function fac(n)
if (n<=0) then n = 1
else
n = n* fac(n-1)
end
endfunction
The errors are stated here :
-->fac(23)
!--error 44
Wrong argument #2.
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
at line 5 of function fac called by :
fac(23)
You forgot the return value n =
in the very first line just after function
, it will never return anything otherwise
function n = fac(n)
if (n<=0) then n = 1
else
n = n* fac(n-1)
end
endfunction