我想比較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';'它會工作。 –