2013-08-01 100 views
0

我想比較C++中的兩種字符類型。我試圖cout<<"x"=="x";看到的結果,它不會工作(我相信是正常的),所以我試圖通過嘗試int letter = "x"轉換它試圖比較它的ASCII碼。這讓我錯誤;如何在初始化過程中將char轉換爲int

錯誤:從 '爲const char *' 到 '炭'

不應該在該工作無效的轉換?如果不是,我該怎麼做?

+0

**注意**:**'「5」**是一個**字符串**,''5''是**'cha'r **,**'5' **是一個**'int' **。都是不同的。 –

+0

嘗試:'cout <<'x'=='x';'它會工作。 –

回答

5

"x"給你一個nul結尾的字符數組{'x','\0'}

如果你想有一個單一的char

1

使用'x'您使用在你的字符雙引號。

雙引號是類型爲const char *,而不是類型char

嘗試

int letter = 'x'; 
2
  • "x"是字符數組 - 串 - (2個字節 - 一個用於炭x,一個用於char \0 nul)
  • 'x'是char - 變量,由內存中的1個字節表示。

"x"分配給int變量是一個明顯的錯誤。

嘗試'x'而不是"x"int letter = 'x';應該可以正常工作。