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

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..........谁能告诉错在哪里么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。