常量轉換溢位。C語言中char, int, float, double,unsigned char, unsigned int 等數值有極限範圍,當它們之間(隱式)轉換時,可能因 數值極限 而超界 溢位。有的編譯器會報告這一型別的錯誤,
並不是所有編譯器都會報告。
溢位例子:
int i=129; // 賦常量 129
char c=i; // char 型 129 超界 溢位 -- 並不是所有編譯器都會報告
printf("%d \n",c); // 輸出 -127 -- 顯然 不是想要的結果。
--
typedef int T1;
typedef char T2;
T1 x =256;
T2 y = x; // char 型 256 超界 溢位
-- 並不是所有編譯器都會報告這裡“overflow in implicit constant conversion“
常量轉換溢位。C語言中char, int, float, double,unsigned char, unsigned int 等數值有極限範圍,當它們之間(隱式)轉換時,可能因 數值極限 而超界 溢位。有的編譯器會報告這一型別的錯誤,
並不是所有編譯器都會報告。
溢位例子:
int i=129; // 賦常量 129
char c=i; // char 型 129 超界 溢位 -- 並不是所有編譯器都會報告
printf("%d \n",c); // 輸出 -127 -- 顯然 不是想要的結果。
--
溢位例子:
typedef int T1;
typedef char T2;
T1 x =256;
T2 y = x; // char 型 256 超界 溢位
-- 並不是所有編譯器都會報告這裡“overflow in implicit constant conversion“