0

我想比较 C++ 中的两种 char 类型。我试图cout<<"x"=="x";查看结果,但它不起作用(我认为这是正常的),所以我尝试通过尝试int letter = "x"将其与 ASCII 数字进行比较来转换它。这让我犯了错误;

错误:从 'const char*' 到 'char' 的无效转换

这不应该工作吗?如果没有,我该怎么办?

4

3 回答 3

5

"x"给你一个以 nul 结尾的字符数组{'x','\0'}

'x'如果你想要一个单一的使用char

于 2013-08-01T16:34:36.483 回答
2
  • "x"是一个字符数组 - 字符串 - (2 个字节 - 一个用于 char x,一个用于 char \0nul)
  • 'x'是 char - 由内存中的 1 个字节表示的变量。

分配"x"int变量是一个明显的错误。

尝试'x'代替"x":int letter = 'x';应该可以正常工作。

于 2013-08-01T16:39:24.333 回答
1

您在字符周围使用双引号。

双引号是 const char* 类型,而不是 char 类型

尝试

int letter = 'x';
于 2013-08-01T16:36:13.437 回答