previous | start | next

Practice: Tracing Function Execution (4)

Here are the intial and "cleaned up" C versions:

Initial                               Cleaned Up
int f(int n)                          int f(int n)
{                                     {
  int ret;                              if (n < 0) {
  if (n < 0) {                            return n + 1;
    ret = n;                            } else if (n > 0) {
    ret++;                                return n - 1;
                                        } else {
                                          return 0;
                                        } 
  } else if ( n > 0 ) {               }
    ret = n;                     
    ret--;                       
                                         
  } else {                       
    ret = 0;                     
  }                              
                                 
  return ret;            
}                             
   


previous | start | next