ilsoviet1917 发表于 2017-11-30 19:06:33

关于S1E12计算器课后题的问题

我用 if 语句写的计算器,为啥算出来的永远是加法的结果?
#include <stdio.h>

int main (void)
{
        char ch;
        float a, b, result;
       
        printf ("请输入算式:");
        scanf ("%f %c %f", &a, &ch, &b);
       
        if (ch = '+'){
                result = a + b;

        } else if (ch = '-'){
                result = a - b;

        } else if (ch = '*'){
                result = a * b;

        } else if (ch = '/'){
                if (b != 0){
                        result = a / b;

                }else {
                        printf ("除数不能为零\n");
                }
        }else {
                printf ("请重新输入\n");
        }
       
        printf ("answer: %f\n", result);
        return 0;
}


还有一个问题,答案里写的计算器,在第十二行是
case '-': op2 = -op2; //no break

道理我都懂,但是这样做会节省运算时间吗?

BngThea 发表于 2017-11-30 20:57:20

等于是两个 ==
会,但是可以忽略

ilsoviet1917 发表于 2017-11-30 21:06:23

BngThea 发表于 2017-11-30 20:57
等于是两个 ==
会,但是可以忽略

我果然是个傻子{:10_266:}
页: [1]
查看完整版本: 关于S1E12计算器课后题的问题