c++ 四则运算

来源:百度知道 编辑:UC知道 时间:2024/05/15 16:19:54
为什么我输入什么算法都是加法? 应该怎么改?

#include<iostream.h>
void main()
{
double a,b,d;
char fh;
cout<<"请输入四则运算式"<<endl;
cin>>a>>fh>>b;

if(fh='+')
{
d=a+b;
cout<<a<<fh<<b<<'='<<d<<endl;
}
else if(fh='-')
{
d=a-b;
cout<<a<<fh<<b<<'='<<d<<endl;
}
else if(fh='*')
{
d=a*b;
cout<<a<<fh<<b<<'='<<d<<endl;
}
else if(fh='/')
{
d=a/b;
cout<<a<<fh<<b<<'='<<d<<endl;
}
else
cout<<"Input Error"<<endl;
}

fh='+'
是赋值语句,不是比较。
他的结果是'+'的ASCII码,也就不是0.
在C/C++里,他的结果是非零,也就是 True
所以每次都是加法。

if(fh='+') 应该是 if(fh=='+') 其他地方一样