bug-460010.c
来自「Small Device C Compiler 面向Inter8051」· C语言 代码 · 共 38 行
C
38 行
/* bug 460010 */#include <testfwk.h>#if defined __mcs51 || defined __ds390 || defined __xa51#define XDATA xdata#else#define XDATA#endifvoid func( unsigned char a ){ UNUSED(a);}voidtestBadPromotion(void){#ifdef SDCC unsigned char c=*((unsigned XDATA char*)(0xa000));#else unsigned char loc_c; unsigned char c=*(unsigned char*)&loc_c;#endif func(c); c+='0'; /* is evaluated as an 8-bit expr */ func(c); c+='A'-'0'; /* is a 16-bit expr ??? */ func(c); }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?