我想比较C++中的两种字符类型。我试图cout<<"x"=="x";
看到的结果,它不会工作(我相信是正常的),所以我试图通过尝试int letter = "x"
转换它试图比较它的ASCII码。这让我错误;如何在初始化过程中将char转换为int
错误:从 '为const char *' 到 '炭'
不应该在该工作无效的转换?如果不是,我该怎么做?
我想比较C++中的两种字符类型。我试图cout<<"x"=="x";
看到的结果,它不会工作(我相信是正常的),所以我试图通过尝试int letter = "x"
转换它试图比较它的ASCII码。这让我错误;如何在初始化过程中将char转换为int
错误:从 '为const char *' 到 '炭'
不应该在该工作无效的转换?如果不是,我该怎么做?
"x"
给你一个nul结尾的字符数组{'x','\0'}
。
如果你想有一个单一的char
使用'x'
您使用在你的字符双引号。
双引号是类型为const char *,而不是类型char
尝试
int letter = 'x';
"x"
是字符数组 - 串 - (2个字节 - 一个用于炭x
,一个用于char \0
nul)'x'
是char - 变量,由内存中的1个字节表示。将"x"
分配给int
变量是一个明显的错误。
尝试'x'
而不是"x"
:int letter = 'x';
应该可以正常工作。
**注意**:**'“5”**是一个**字符串**,''5''是**'cha'r **,**'5' **是一个**'int' **。都是不同的。 –
尝试:'cout <<'x'=='x';'它会工作。 –