【发布时间】:2020-12-07 01:46:12
【问题描述】:
我正在尝试检查用户输入是否等于"l"。当我按"l" 然后输入时,我应该将"test worked" 发送到控制台,但我没有。
这是我的 C++ 代码
char userIn[8];
std::cin >> userIn;
if (userIn == "l") {
std::cout << "test worked";
}
【问题讨论】:
-
双引号用于字符串。单引号用于 char 值。
-
如果
userIn是char*则 == 将不起作用。如果它是std::string,它将起作用。如果它是一个字符,你需要 '1' 而不是 "1" 才能使 == 起作用。 -
要检查 C 字符串是否相等,请使用 strcmp()
-
@Chipster :那个编辑似乎有隐藏的知识。你怎么知道userIn的声明是什么?
-
@L.ScottJohnson 它在原版中。它被不正确的格式隐藏了。