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

问题描述

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

+、-、* 或 /

谁能告诉我如何在 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.
}

或使用开关。

,

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

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;