关于一个简单地问题 模拟简单计算器
程序模拟简单运算器的工作:输入一个算式(没有空格),遇到‘=’号说明输入结束,输出结果。假设计算器只能进行加、减、乘、除运算,运算数和结果都是整数,4种运算符的优先级相同,按从左到右的顺序计算。例如,输入“1+2*10-10/2"后结果为10。这是找来的代码
#include <stdio.h>
#include<conio.h>
void main()
{
char ch,op=0;
int a=0,b=0;
do{
ch=getche();
if(ch>='0'&&ch<='9') a=a*10+ch-'0';这句话没有明白什么意思
else
{ switch(op)
{ case '+': b+=a;break;
case '-': b-=a;break;
case '*': b*=a;break;
case '/': b/=a;break;
}
op=ch;
b=a;
a=0;这里的关系可能错了但是我是刚开始写搞不明白
}
}while(ch!='=');
printf("%d\n",b);
}
不管输入什么结果最后输出都是最后输入的那个数比如1+1+3*5=输出5 1+2=输出2
各位大神求指导,谢谢