奇数排在偶数之前,偶数却变为垃圾值

今天用C写了一个让线性表中奇数排在偶数之前的函数(数据结构实验)

/*奇数排在偶数之前*/
Status AdjustList_Sq(SqList &L)
{
    ElemType *p, *q;
    int temp,i=0;
    p=L.elem;
    q=L.elem+L.length-1;
    for(;p<=q;p++)
    {
        for(i=0;i<L.length;i++)
        {
            if((*p%2==0)&&(*(p+i)%2!=0))
            {
                temp=*p;
                *p=*(p+i);
                *(p+i)=temp;
            }
        }
    }
    return OK;
}

利用的是codeblocks

将代码调试运行时有时会运行出正确结果,而有时会出现以下情况:

奇数排在偶数之前,偶数却变为垃圾值

 奇怪了!为什么原始数据中的偶数会变成垃圾值?求大佬帮忙指点一下错误!!!

上一篇:用线性表实现有序表的合并


下一篇:2021-10-26