有个网友问了我一个问题,我觉得很有意思,现整理如下:
一:问题描述
unsigned char CheckValueBlk( void )
{
unsigned char Flag = 0;
unsigned char RevBuffer[2] = {0xFA,0x05};
if(RevBuffer[0] == ~(RevBuffer[1]))
{
Flag = 1;
}
return Flag;
}
问题可用上述简单函数表达,为何返回的是0而不是期望的1?
更让人费解的是:
Armcc.exe V4.1.0.561有上述问题.................
C51.exe V8.02就可以..............................
一个是keil V4,一个是keil V3................................
============================================
上面是网友问题,描述。
答案我这里先不公布出来,各位路过的,猜猜看!
=======================================================================================
By 下家山 Q群 75303301 上海松江文汇路928号258室 松江大学城
上海索漫科技 http://www.xiajiashan.com 专注嵌入式(ARM7,Cortex-M0,Cortex-M3,ARM9,linux)培训
用户1406868 2012-9-30 23:24
用户1551062 2011-11-11 11:59
用户1381018 2011-10-25 22:27
用户1569309 2011-10-21 18:41
用户1627600 2011-10-21 12:48
用户1558846 2011-10-20 09:07
用户1408843 2011-10-20 08:12
peng36933_557691152 2011-10-19 21:59
用户1014892 2011-10-19 18:39
学习了 !!
用户1014892 2011-10-19 18:36
学习了!