Re: [請益] C 變數型態 可攜

看板Programming作者 (「雄辯是銀,沉默是金」)時間12年前 (2013/02/05 11:17), 編輯推噓3(308)
留言11則, 2人參與, 最新討論串3/4 (看更多)
http://www.cnblogs.com/zyl910/archive/2012/08/02/printmacro.html http://www.cnblogs.com/zyl910/archive/2012/08/08/c99int.html 這兩篇可以參考如何處理沒有支援 stdint.h、inttypes.h ※ 引述《dryman (dryman)》之銘言: : http://www.idryman.org/blog/2012/11/21/integer-promotion/ #include <stdio.h> int main(void) { unsigned char a = 0xff; char b = 0xff; int c = a==b; // true, or false? printf("C: %d\n",c); } 這篇提到的程式碼做了一個假設: char b 是 signed, 不過 char 是 signed 或是 unsigned 是由 c compiler 決定的。 你的範例我在 gcc, openwatcom c/c++ 結果不同。 參考一下: http://descent-incoming.blogspot.tw/2013/02/c-char-signed-unsigned.html -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.125.239.46 ※ 編輯: descent 來自: 59.125.239.46 (02/05 11:27)

02/06 10:00, , 1F
是descent大大(拜)
02/06 10:00, 1F

02/06 10:07, , 2F
不過,integer promotion在C99中有規範
02/06 10:07, 2F

02/06 10:08, , 3F
並不是implementation defined
02/06 10:08, 3F

02/06 10:08, , 4F
我還要再查查C89有沒有定義,因為之前我只
02/06 10:08, 4F

02/06 10:08, , 5F
有讀C99....
02/06 10:08, 5F

02/06 10:11, , 6F
C89也有integer promotion
02/06 10:11, 6F

02/06 10:13, , 7F
C89是3.2.1.1,C99是6.3.1.1
02/06 10:13, 7F

02/06 10:52, , 8F
真強大, 直接讀 c99 spec, 這資料比任何書
02/06 10:52, 8F

02/06 10:52, , 9F
可靠多了
02/06 10:52, 9F

02/06 11:00, , 10F
C99 spec跟C99 rationale混著讀,其實還蠻
02/06 11:00, 10F

02/06 11:00, , 11F
快的。而且還有範例說明
02/06 11:00, 11F
文章代碼(AID): #1H47dFM4 (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 3 之 4 篇):
文章代碼(AID): #1H47dFM4 (Programming)