作者descent (「雄辩是银,沉默是金」)
看板Programming
标题Re: [请益] C 变数型态 可携
时间Tue Feb 5 11:17:31 2013
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)
1F:→ dryman:是descent大大(拜) 68.181.4.88 02/06 10:00
2F:推 dryman:不过,integer promotion在C99中有规范 68.181.4.88 02/06 10:07
3F:→ dryman:并不是implementation defined 68.181.4.88 02/06 10:08
4F:→ dryman:我还要再查查C89有没有定义,因为之前我只 68.181.4.88 02/06 10:08
5F:→ dryman:有读C99.... 68.181.4.88 02/06 10:08
6F:推 dryman:C89也有integer promotion 68.181.4.88 02/06 10:11
7F:→ dryman:C89是3.2.1.1,C99是6.3.1.1 68.181.4.88 02/06 10:13
8F:→ descent:真强大, 直接读 c99 spec, 这资料比任何书 59.125.239.51 02/06 10:52
9F:→ descent:可靠多了 59.125.239.51 02/06 10:52
10F:推 dryman:C99 spec跟C99 rationale混着读,其实还蛮 68.181.4.88 02/06 11:00
11F:→ dryman:快的。而且还有范例说明 68.181.4.88 02/06 11:00