#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main()
{
int a1,a2,a3;
char op1,op2,op3;
//为了保证结构,在最开始加上一个0+
a1 = 0;
op1 = '+';
while(op1!='=')
{
scanf("%d %c",&a2,&op2); //这里用一个空格来忽略空白符
//计算乘除
while(op2=='*' || op2=='/')
{
scanf("%d %c",&a3,&op3);
if(op2=='*')
a2 *= a3;
else if(op2=='/')
a2 /= a3;
op2 = op3; //此处注意
}
//将两项相加(减)
if(op1=='+')
a1 += a2;
else if(op1=='-')
a1 -= a2;
op1 = op2; //此处注意
}
printf("%d",a1);
return 0;
}
我想请教一下,怎么样修改一下代码,使得输入的表达式不含“=”号也能运行并输出结果。如 输入 5+2/2 ,输出 =6.
代码非原创,原文出自:https://blog.csdn.net/dannis_bh/article/details/51002627