//switch语句实现简易计算器
#include<stdio.h>main()
{
float a,b;
char ch;
printf("请输入一个表达式:");
scanf("%f%c%f",&a,&ch,&b);
if(ch!='+' || ch!='-' || ch!='*' || ch!='/')
{
printf("输入错误!\n");
}
else {
switch(ch)
{
case '+':printf("%.2f+%.2f=%.2f\n",a,b,a+b);
break;
case '-':printf("%.2f-%.2f=%.2f\n",a,b,a-b);
break;
case '*':printf("%.2f*%.2f=%.2f\n",a,b,a*b);
break;
case '/':printf("%.2f/%.2f=%.2f\n",a,b,a/b);
break;
}
}
}
程序能运行,但是运行的结果不对,不论输入什么,结果都是“输入错误!”,但如果将if语句去掉的话结果就是对的,这是为什么呢?
跪求大神们的解答!!!!
[此贴子已经被作者于2017-11-2 08:52编辑过]