一道c语言填空题,程序没看懂 求详细解释!

2024-11-25 15:25:46
推荐回答(1个)
回答1:

#include
main()
{
int op1,op2,res;//定义操作数1,操作数2,结果
char opertor;//定义运算符号
scanf ("%d",&op1);//输入操作数1
opertor=getchar();//输入运算符
while(opertor!='=')//如果运算符不是等号,继续运算
{
scanf ("%d",&op2);//输入操作数2
switch(opertor)//根据输入的运算符进行运算
{
case '+':res=op1+op2;break;
case '-':res=op1-op2;break;
case '*':res=op1*op2;break;
case '/':res=op1/op2;break;
default:res=0;
}
op1=res;//把结果保存到操作数1,方便继续运算
opertor=getchar();//再次输入运算符号
}
printf("%d\n",res);//打印结果
}

注意:由于是没有区分运算符优先级的,完全是按照输入的先后顺序计算的,
所以上面这4个输入的式子要按从左到右计算,不能按照平常乘除优先于加减的习惯去计算。