0001 double rpn(char* S) { //对RPN求值 0002 Stack<double> opnd; //仅需一个运算数栈 0003 for (char* item = strtok(S, " "); item; item = strtok(nullptr, " ")) 0004 if (1 < strlen(item) || isdigit(item[0])) //遇到操作数 0005 opnd.push(atof(item)); //则令其入栈 0006 else //遇到运算符 0007 opnd.push(calcu(opnd, item[0])); //则直接计算 0008 return opnd.pop(); //唯一尚存的操作数,即为计算结果 0009 } //rpn