我想比较 C++ 中的两种 char 类型。我试图cout<<"x"=="x";
查看结果,但它不起作用(我认为这是正常的),所以我尝试通过尝试int letter = "x"
将其与 ASCII 数字进行比较来转换它。这让我犯了错误;
错误:从 'const char*' 到 'char' 的无效转换
这不应该工作吗?如果没有,我该怎么办?
我想比较 C++ 中的两种 char 类型。我试图cout<<"x"=="x";
查看结果,但它不起作用(我认为这是正常的),所以我尝试通过尝试int letter = "x"
将其与 ASCII 数字进行比较来转换它。这让我犯了错误;
错误:从 'const char*' 到 'char' 的无效转换
这不应该工作吗?如果没有,我该怎么办?
"x"
给你一个以 nul 结尾的字符数组{'x','\0'}
。
'x'
如果你想要一个单一的使用char
"x"
是一个字符数组 - 字符串 - (2 个字节 - 一个用于 char x
,一个用于 char \0
nul)'x'
是 char - 由内存中的 1 个字节表示的变量。分配"x"
给int
变量是一个明显的错误。
尝试'x'
代替"x"
:int letter = 'x';
应该可以正常工作。
您在字符周围使用双引号。
双引号是 const char* 类型,而不是 char 类型
尝试
int letter = 'x';