回覆列表
  • 1 # 使用者5189701024573

    常量轉換溢位。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“

  • 中秋節和大豐收的關聯?
  • 重生成紅雲的洪荒小說?