-2

在 C++ 中,如何在 if...then... 或 if...else 或 if... 语句中使用变量?

这就是我的意思。

当我输入这样的东西来制作计算器或其他东西时:

int main()
{
  signed int a, b, c, d, e result;
  cin >> a;
  cin >> b;
  cin >> c;
  cin >> d;
  cin >> e;

  if(d=="+")
    if(e=="-")
      result = a + b - c
  cout <<result;
}

它不起作用。

我究竟做错了什么?

4

5 回答 5

0
if(d > 0) {

}

if(e < 0) {

}
于 2012-11-25T17:54:43.847 回答
0
int main()
{
int a, b, c,result; // you don't need write signed because it's by default signed
char d,e;
  cin >> a;
  cin >> b;
  cin >> c;
  cin >> d;
  cin >> e;

if(d=='+'){ // good practice to put {}. if you'll put another line of code in the future 
  if(e=='-'){
    result = a + b - c; //you forgot statement ";" 
   }
}
cout <<result;
于 2013-02-12T00:44:18.767 回答
0

正如克里斯所说,您无法将字符串文字与整数进行比较。

如果您想与单个字符进行比较(我猜这就是您要去的地方),您想使用单引号,例如 so if(d == '+')。字符的单引号,双引号在字符串上添加隐式零终止。所以 "+" 实际上是 {'+', 0x0}

于 2012-10-07T23:39:51.103 回答
0
int main()
{
signed int a, b, c,result;
char d,e;
  cin >> a;
  cin >> b;
  cin >> c;
  cin >> d;
  cin >> e;

if(d=='+')
  if(e=='-')
    result = a + b - c
cout <<result;
}
于 2012-10-07T23:40:32.710 回答
0

在将字符与变量进行比较时,您必须在字符周围使用单引号。例如

char mychar='a';

如果 (mychar=='a')

cout<<"它是一个";

于 2012-11-25T17:51:32.320 回答