I code in RPG but recently took a software testing test with that included the following code:

n! = n*((n-1)!)
int f=1;
if (n<0){
fprintf(stderr, 'factorial; Negative argument.'n';
}else if ((n==0) ||(n==1)){
f=1;
}else {
f=n*factorial(-n);
}
return(f)
}

what does the statement: {else if ((n==0)||(n--1)){ mean? The question is what inputs represent...