不知道代码错在哪里,总是不能完成计算

求帮忙看一下为什么这个代码计算不了,而且输入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;
}

http://ideone.com/4vMmvI

在线测试,没问题

printf("=%.2f\n", a + b);
别的类似,用a - b, a * b a / b代替x

另外之前的问题,没有采纳的麻烦都采纳下,谢谢

这个建议转换成后缀表达式比较ok

b=0和b==0在程序中是不同的,一个是赋值,一个是判断。试的改一下看看