怪异的错误,肯定是有错的,但怎样都查不到错在哪里........

2020-02-08 12:12发布

下面这段程序,o_digit_read每次从decode_table[]取得9,但是......
    o_digit_read = decode_table [o_bit_pattern[3]];
    o_num_read[0] = o_digit_read & 0xf;
    o_digit_read = decode_table [o_bit_pattern[2]];
    o_num_read[0] += (o_digit_read & 0xf) << 4;
    o_digit_read = decode_table [o_bit_pattern[1]];
    o_num_read[0] += (o_digit_read & 0xf) << 8;        /*在这前,o_digit_read=9,在之后,0_num_read[0]的位8-12并不是9*/
    o_digit_read = decode_table [o_bit_pattern[0]];
    o_num_read[0] += (o_digit_read & 0xf) << 12;
本来4位数是9999,但拼接之后,得到9099..........谁能告诉错在哪里么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
gwdong
2020-02-09 01:47
补充一下,编译器是 HI-TECH.

对了还要说明一下,这段代码其实曾经用的好好的.
后来别的地方改了,它这里不行了......再后来,到处找解决办法,就试着选中那个"Debug"------好了.

一周热门 更多>