2015-12-21 185 views
1

我試圖找到一種方法將int轉換爲int(假設int爲一位數字)的相應值的char。 (實施例1 = '1' 5 = '5' 9 = '9')我試圖將int轉換爲int值的字符

int a=5; 
char b=char(a+48); 

每當我嘗試運行此程序崩潰。我如何設置一個可以正常工作的系統?

+0

該程序崩潰的一些完全不相關的理由,你沒有告訴我們任何關於。 – immibis

回答

1

它可以使用下面的代碼來完成:

char c = (char)(48 + a); 

您還可以使用'0' char值,而不是48它將提高代碼的可讀性,讓你不記得了價值48:

int a = 5; 
char c = (char)((int)'0' + a); 

正如評論所說,你可以做到這一點沒有明確的強制轉換:

char c = '0' + a; 
+0

你究竟發現了錯誤的語法?顯然,OP在問,爲什麼該程序崩潰。崩潰的先決條件是編譯。 – IInspectable

+0

這是一個非常有效的C++函數風格類型。這不是無效的語法。 – immibis

+0

@immibis感謝您的澄清。我已經刪除了令人困惑的部分。 –