求帮忙看一下为什么这个代码计算不了,而且输入b=0的还是0.00,不能输出Unknown operator
#include <stdio.h>
int main(void) {
float a,b;
char ch;
scanf("%f%c%f", &a, &ch, &b);
switch (ch)
{
case '+': printf("=%.2f", a + b); break;
case '-': printf("=%.2f", a - b); break;
case '*': printf("=%.2f", a * b); break;
case '/': printf("=%.2f", a / b); break;
default: printf("Unknown operator");
}
return 0;
}
在线测试,没问题
printf("=%.2f\n", a + b);
别的类似,用a - b, a * b a / b代替x
另外之前的问题,没有采纳的麻烦都采纳下,谢谢
这个建议转换成后缀表达式比较ok
b=0和b==0在程序中是不同的,一个是赋值,一个是判断。试的改一下看看