//Clear the number buffer.
            bufferptr = number;
            for (i = 0;i <= MAX_DISPLAY_CHAR; i++)
               { number[i] = ' '; }
   
            //Process the Operator.
            currtoken = key;
   if (currtoken == 'C') 
      { calc_opfunctions(currtoken); }
    else
      { calc_opfunctions(lasttoken); }
  
       // Clear the outputbuffer for reuse on next operation.
            for (i = 0;i <= MAX_DISPLAY_CHAR;i++)
               { outputbuffer[i] = ' ';}
        
            bufferptr = number;
   // Handle the equals operation here for brevity.
   // All we need do is preserve the previous operator in论文范文http://www.chuibin.com/  
   // lasttoken.
   if (currtoken != 0x3D) lasttoken = currtoken;
            
       }
       lastpress = key;
     }
 }
VOID calc_opfunctions (CHAR token)
// Handle the operations. Lvalue holds the result and we test for
// consecutive operator presses.
 { CHAR data result;
   switch(token)