我们可以在 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;
要求用户输入以下数学符号之一:
+, -, *, 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;