在c中分离运算符和数字的最佳方法是什么?

时间:2014-01-29 14:29:30

标签: c data-structures stack

我尝试构建可以按堆栈计算数量的程序 但我有些卡住了。 让我们先看看我的计划是否正常工作

获取表达式示例(1 + 2)* 3

将其分开并重新安排为“1 2 + 3 *”

让他们使用这个功能我将它变为psudocode。

 if token is a number
   push onto the stack
 else if token is an operator
   pop operand 1 off the stack
   pop operand 2 off the stack
 apply the operator
 push the result back onto the stack

我想要了解如何检查字符串“1 2 + 3 *”的建议 什么是最好的方法

抱歉我的英文

感谢。

1 个答案:

答案 0 :(得分:0)

我认为您正在尝试评估后缀表达式。

  1. 使用char数组获取后缀表达式
  2. 检查操作员,如果不是操作员,那么它必须是     整数。
  3. 您可以使用
  4. 轻松将字符整数转换为整数
    char x = 9; //Character '9' = ASCII 57
    int b;
    
    b = x - '0'; //That is '9' - '0' = 57 - 48 = 9
    .
    

    4你可以简单地对整数进行必要的操作。