如何解决在第37行倒数第二行中,该错误表示为此处未声明,不是在函数中对我有帮助
#include <stdio.h>
#include <stdlib.h>
double compute(char symbol,double op1,double op2)
{
switch(symbol)
{
case '+': return op1+op2;
case '-': return op1-op2;
case '*': return op1*op2;
case '$':
case '^': return (op1,op2);
}
}
main()
{
double s[20],res,op1,op2;
int top,i;
char postfix[20];
char symbol;
printf("Enter postfix");
scanf("%s",postfix);
top=-1;
for(i=0;i<stlen(postfix);i++)
symbol=postfix[i];
if(isdigit(symbol))
s[++top]=symbol='0';
else
{
op2=s[top--];
op1=s[top--];
}
res=compute(symbol,op2);
s[++top]=res;
}
res=s[top--];
printf("res is %d",res);
}
我可能在这里遗漏了一些东西,因为它表明s
未声明,但是正如您所看到的,我在s
之后两次声明了main()
解决方法
这3行不在任何范围内
res=s[top--];
printf("res is %d",res);
}
这就是为什么您有错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。