后缀表达式
在c语言的课后作业网址:课后作业中,是这样写的:但是我觉得这个的逆波兰表示法应该是:a b c d - * e /+ f g + +
说一下我的推导过程:
原式: a + b * (c - d) / e + (f + g)
第一步:a + b * < c d - > / e + < f g +> //这步以及后面步骤的尖括号表示尖括号里面的已经是逆波兰表示法了
第二步:a + < b c d - * > / e + < f g + >
第三步:a + < b c d - * e / > + < f g + >
第四步:< a b c d - * e / a > + < f g + > + //第三步中a后面的加号移动到了这步中的< a b c d - * e / a >后,第三步中< b c d - * e / >后面的加号移动到了< f g + >后
第五步,把尖括号去除,也即:a b c d - * e /+ f g + +
但是答案是:a b c d - * e / f g + + +
如果说,中缀表达式中每一项之间的加减号应该是放到逆波兰表示法整个表达式的最后,那么下方截图中红箭头指着的那个加号又怎么解释呢?
页:
[1]