很简单的一个循环,出现漏掉一次循环没有执行,奇怪

2020-01-22 12:13发布

uchar xor_checksum(uchar *pDat,uchar length)// 求异或和,参数1欲求和的数据首地址,参数2 长度  
{
        uchar i,a;
        a=0;
        sendByte(length);//调试用,输出长度
        for(i=0;i<length;i++)
        {
                a ^= *pDat;
                pDat++;
                sendByte(i);//调试用,输出循环变量
        }
        return a;       
}

输入长度为0xC9
输出结果C9  00 中间省略 C6 C7
少一次C8

输入长度比较短的时候都不会出错,想不通什么原因
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。