比较char和const char

时间:2014-01-16 19:30:36

标签: c++ char

我是c ++和编程的新手,我一直都会遇到错误。我无法比较char和常量字符。任何帮助将不胜感激。

char a;
cout << " presentation";
cout << "blablabla do you want to go left (type "l") or right (type "r")";
cin >> a;
if (a == "l")
{
  cout << "blablabla fall down it and brake your neck";
}
else
{
  cout << "blablabla";
}

3 个答案:

答案 0 :(得分:3)

"1"是一个字符串文字并返回const char[](数组)类型的对象,而不是const char

'1'是一个字面

答案 1 :(得分:3)

您在尝试打印的字符串中也有双引号。你需要写\"

来逃避这些

答案 2 :(得分:3)

您正在将char与字符数组进行比较(“1”是字符数组)。最好的办法是将你的if语句改为:

if (a == '1')

应该解决你的问题。

此外,您不需要在cout语句前面使用分号。 ;应该在声明的最后,而不是在声明的前面。

此外,char数组中的引号应该通过在它们前面放置\来进行转义。 (\“)