我们可以在 C++ 的 if 语句中使用符号吗?

Can we use symbol in if statement in C++?

要求用户输入以下数学符号之一:

+, -, *, or /

谁能告诉我如何在 if 语句中使用这些符号?如果不是,我如何不使用 if 语句来执行此操作,例如 1 用于加法,2 用于乘法等?

if(z==+){
     std::cout<<x<<"+"<<y<<" is "<<x+y;
   }

您可以将输入的符号存储在一个字符中char symbol,然后:

switch(symbol){
    case '+':
        std::cout << ... ;
        break;
    case '-':
        std::cout << ... ;
        break;
    ...

    default:
        std::cout << "symbol not valid\n"; ;
        break;
}

用户输入的值通常会以字符或字符串的形式输入(取决于您读取它的方式。您不能只将变量本身与 + 号进行比较,它会执行如下操作:

if("+" == z) {
//do operation
}
else if("*" == z) {
//do operation
}
else {
//etc.
}

或使用开关。

只需将运算符括在引号中并使用 string/char 数据类型来存储运算符

char z;
    if(z=='+'){
         std::cout<<x<<"+"<<y<<" is "<<x+y;
       }

+== 是运算符。它们的语法需要两个操作数。 z 是一个字符。它不能与运算符进行比较,而只能与其他变量进行比较。正如其他答案所说, '+' 成为一个字符 https://en.wikipedia.org/wiki/ASCII#Character_set 并且可以进行比较。

如果符号是用户在 cmd 中输入的,则它们是 char 类型。

char z;
if (z == '+')
  std::cout << x << "+" << y << " is " << x + y;