为什么我的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语句,它只会将两个数字相加
答案 0 :(得分:1)
有两件事是对的,
if语句中的比较应使用==
而不是=
=
也会将右侧值分配给变量操作,如果您在第一次比较中错过了+
if (operation= '')
应该是if (operation == '+')