C ++如果语句故障

时间:2018-12-29 05:55:15

标签: c++ if-statement

为什么我的else如果循环不起作用 运行时的代码将跳过else语句并执行if语句,即使它不是真的

   #include<iostream>
    using namespace std;
    int a;
    int b;
    char operation;
    int sum;
    int sub;
    int mul;
    int divide;
    int mod;
    int main()
    {
    cout<< "enter a number \n";
    cin >> a>>operation>>b;
    if (operation= '')
    {
        sum=a+b;
        cout << a<<operation<<b<<sum;
    }
    else if (operation= '-')
    {
        sub=a-b;
        cout << a<<operation<<b<<sub;
    }
    else if (operation= '/')
    { if(b==0){
        cout<<"You cannot divide by zero";
    }
        else{divide=a/b;
        cout << a<<operation<<b<<divide;}
    }else if (operation= '*')
    {
        mul=a+b;
        cout << a<<operation<<b<<mul;
    }
    else if (operation= '%')
    {
        mod=a%b;
        cout << a<<operation<<b<<mod;
    }
    else{
        cout<<"Invalid input";
    }

        return 0;
    }

无论输入什么符号,输出始终只是将数字相加,即使该操作不是+事实,即使我使用了错误的操作,它也不会覆盖我的else if语句,它只会将两个数字相加

1 个答案:

答案 0 :(得分:1)

有两件事是对的,

if语句中的比较应使用==而不是=

=也会将右侧值分配给变量操作,如果您在第一次比较中错过了+

if (operation= '')应该是if (operation == '+')