2012-05-29 120 views
1

我使用MPLAB C18 C編譯器和得到一個語法錯誤與此代碼:鑄造到unsigned char類型

hundreds = unsigned char((tick/100)); 
tens = unsigned char((tick - (hundreds * 100))/10); 
ones = unsigned char((tick - (hundreds * 100) - (tens * 10))); 

tickunsigned int。 我試圖通過簡單的劃分將三位數值轉換爲三個單獨的ASCII值,並將整個數字轉換爲我的unsigned char變量。

它看起來對我好,但我想我錯過了一些東西。

+3

那就是C++鑄造的風格,它不會在C. – Naveen

+0

工作,我不認爲有多個令牌簡單類型說明符,即使在C工作++。 – Potatoswatter

+0

這不適用於C.猜測,在C++中,這種類型的語法工作,考慮拷貝構造函數的行爲。 – KedarX

回答

9

鑄造在括號完成:

hundreds = (unsigned char)(tick/100);