2011-10-31 65 views

回答

0

如果我沒有記錯的話,

int i = (char) - (int) + (long) - 1; 

實際上相當於

int i = (char)(-(int)(+((long)(- 1)))); 

因爲-1和1個很好地融入在表達式中使用的所有數據類型,我們可以刪除要獲得的演員表

int i = -(+(- 1)); 
1

這樣看,每個表達式都有自己的變量(呃,除了-1)。

long a = (long) -1; // a = -1 
int b = (int) a; // b = -1 
int c = -b;   // c = 1 
int d = (char) c; // d = 1 
int i = (int) d; // i = 1 (implicit conversion)