我是 C++ 的新手,正在制作一个简单的文本 RPG,无论如何,场景是我有一个带有选项 1-3 的“欢迎”屏幕,并且有一个简单的 IF 语句来检查它们,这里:
int choice;
std::cout << "--> ";
std::cin >> choice;
if(choice == 1) {
//..
这很好用,但如果有人输入一个字母作为选择(而不是 1、2 或 3),它将变成“-392493492”或其他东西并使程序崩溃。所以我想出了:
char choice;
std::cout << "--> ";
std::cin >> choice;
if(choice == 1) {
//..
这工作得很好,但是当我输入一个数字时,它似乎完全跳过了 IF 语句。字符“1”是否与数字 1 相同?
我得到一个编译器错误(ISO-CPP 或其他):
if(choice == "1")
那么我到底怎么才能知道他们输入的 1-3 是否正确!?
最佳答案
1 is an int
'1' is a char
"1" is a char array
我猜您想与 '1'
进行比较。
关于c++ - 当它应该是字符串时输入接受字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2779804/