我試圖找到一種方法將int
轉換爲int
(假設int爲一位數字)的相應值的char
。 (實施例1 = '1' 5 = '5' 9 = '9')我試圖將int轉換爲int值的字符
int a=5;
char b=char(a+48);
每當我嘗試運行此程序崩潰。我如何設置一個可以正常工作的系統?
我試圖找到一種方法將int
轉換爲int
(假設int爲一位數字)的相應值的char
。 (實施例1 = '1' 5 = '5' 9 = '9')我試圖將int轉換爲int值的字符
int a=5;
char b=char(a+48);
每當我嘗試運行此程序崩潰。我如何設置一個可以正常工作的系統?
它可以使用下面的代碼來完成:
char c = (char)(48 + a);
您還可以使用'0'
char值,而不是48它將提高代碼的可讀性,讓你不記得了價值48:
int a = 5;
char c = (char)((int)'0' + a);
正如評論所說,你可以做到這一點沒有明確的強制轉換:
char c = '0' + a;
你究竟發現了錯誤的語法?顯然,OP在問,爲什麼該程序崩潰。崩潰的先決條件是編譯。 – IInspectable
這是一個非常有效的C++函數風格類型。這不是無效的語法。 – immibis
@immibis感謝您的澄清。我已經刪除了令人困惑的部分。 –
該程序崩潰的一些完全不相關的理由,你沒有告訴我們任何關於。 – immibis