如何比较用户输入的符号与另一个符号?



我试过比较字符变量和"上面写着:

ISO C++ forbids comparison between pointer and integer [-fpermissive]

完整代码:

#include <iostream>
int main(){
int a, b;
char c;
std::cin >> a >> c >> b;
if (c == "+"){
std::cout << (a + b);
}
if (c == "-"){
std::cout << (a - b);
}
if (c == "*"){
std::cout << (a * b);
}
}

我该怎么办?

"c"的结果是一个字符数组,也就是我们所说的C-string,这不是你想要的。如果您想要一个表示单个字符的表达式,请使用'c'代替!

代码变成:

#include <iostream>
int main(){
int a, b;
char c;
std::cin >> a >> c >> b;
if (c == '+'){
std::cout << (a + b);
}    
if (c == '-'){
std::cout << (a - b);
}    
if (c == '*'){
std::cout << (a * b);
}    
}

阅读这里的另一个答案:您应该决定使用字符串对字符串比较或字符对字符比较。把它们混合在一起是行不通的。

相关内容

最新更新