void Fact(void){ int local_var; local_var=global_var; if (global_var==1) return; if(global_var==0){ // Check if the input is 0. global_var=1; return; } if(global_var<0){ // Check if the input is less than zero. global_var=-1; // Assign global_var to a value that would not occur as the result of a factorial computation. return; } else { global_var=global_var-1; Fact(); global_var=global_var*local_var; return; } }