vIllaInssss 2020-04-09 01:16 采纳率: 75%
浏览 647
已采纳

为什么在 Dev c++里运行不了?

#include
#include
#include
using namespace std;
int factor()//读入一个因子返回其值
{
int result=0;
char c=cin.peek();
if(c=='(')
{
cin.get();
result=expression();
cin.get();
}
else
{
while(isdigit(c))
{
result=10*result+c - '0';c
cin.get();
c=cin.peek();
}
}
return result;
}

int term()//一项
{
int result=factor();
while(1)
{
char op=cin.peek();
if(op=='*'||op=='/')
{
cin.get();
int value=factor();
if(op=='*')
result*=value;
else result/=value;
}
else break;
}
return result;
}
int expression()//表达式
{
int result=term(); //求第一项的值
while(1)
{
char op=cin.peek();
if(op=='+'||op=='-')
{
cin.get();
int value=term();
if(op=='+') result+=value;
else result-=value;
}
else break;
}
return result;
}

int main()
{
cout<<expression()<<endl;
return 0;
}


  • 写回答

2条回答 默认 最新

  • 小学狗喵喵叫 2020-04-09 09:32
    关注

    在int factor()前加

    int expression();
    

    去掉

    result=10*result+c - '0';c
    

    最后面的c

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?