C语言表达式求值 输出结果错误

要求算出什么结果就输出什么结果
错误结果如下图

img


应该怎么修改
还需要判错
要求如图

img

img

代码如下https://pastebin.ubuntu.com/p/Jp6bNd8nyC/

for (j = 0; s[i] >= '0' && s[i] <= '9' || s[i] == '.';i++) {
这突然跑出来一个j=0
栈元素是char类型,可数值写入栈的代码是:
n = atof(p);
Push(OPND, n);
这不是将浮点数入栈了么?
你操作符栈存储的是字符,数值栈存储的应该是浮点数。两者不能用同一个类型啊、
问题实在是太多了,不如网站找个写好的好好研究一下。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632