【发布时间】:2013-07-24 13:52:13
【问题描述】:
char byte = 0xff;
printf("%lu\n", sizeof(byte)) // Output is '1'
printf("%x\n", byte); // Output is 'ffffffff'
如果byte 的大小只有一个字节,那为什么printf() 表现得好像是四个字节?
【问题讨论】:
-
google“整数提升”
-
刚得到一个链接Deep C: Integer Promotion 解释我在说什么。它的实现依赖。