为什么我的puts输出空的


if(strcmp(la,lb)!=0)
    {
        puts(la);
        puts(lb);
    }
    else
    {
        puts(la);
    }

代码中la,lb是字符串,但是我定义char *pla=la,*plb=lb再把la,lb换成指针型变量pla,plb输出是空的,原来的代码不会这样,请问为什么呢。

下面是完整错误代码,写的很垃圾。

#include <stdio.h>
#include <string.h>
int main()
{
    char a[10001],la[10001],b[10001],lb[10001];
    char *pa,*pla;
    pa=a;
    pla=la;
    gets(pa);
    for(pa=a+1;*pa!='\0';pa++)
    {
        if(*pa%2==*(pa-1)%2)
        {
            if(*pa>*(pa-1))
            {
                *pla=*pa;
                pla++;
            }
            else
            {
                *pla=*(pa-1);
                pla++;
            }
            
        }
    }
    char *pb,*plb;
    pb=b;
    plb=lb;
    gets(pb);
    for(pb=b+1;*pb!='\0';pb++)
    {
        if(*pb%2==*(pb-1)%2)
        {
            if(*pb>*(pb-1))
            {
                *plb=*pb;
            }
            else
            {
                *plb=*(pb-1);
            }
            plb++;
        }
    }
    if(strcmp(pla,plb)!=0)
    {
        puts(pla);
        puts(plb);
    }
    else
    {
        puts(pla);
    }
    return 0;
}

修改处见注释,供参考:

#include <stdio.h>
#include <string.h>
int main()
{
    char a[10001], la[10001], b[10001], lb[10001];
    char* pa, * pla;
    pa = a;
    pla = la;
    gets(pa);
    for (pa = a + 1; *pa != '\0'; pa++)
    {
        if (*pa % 2 == *(pa - 1) % 2)
        {
            if (*pa > *(pa - 1))
            {
                *pla = *pa;
                pla++;
            }
            else
            {
                *pla = *(pa - 1);
                pla++;
            }

        }
    }
    *pla = '\0'; //字符串la[]结尾加入结束标志 ‘\0'
    pla = la;    //指针 pla 重新指向字符串 la 首地址
    char* pb, * plb;
    pb = b;
    plb = lb;
    gets(pb);
    for (pb = b + 1; *pb != '\0'; pb++)
    {
        if (*pb % 2 == *(pb - 1) % 2)
        {
            if (*pb > *(pb - 1))
            {
                *plb = *pb;
            }
            else
            {
                *plb = *(pb - 1);
            }
            plb++;
        }
    }
    *plb = '\0';  //字符串lb[]结尾加入结束标志 ‘\0'
    plb = lb;     //指针 plb 重新指向字符串 lb 首地址
    if (strcmp(pla, plb) != 0)
    {
        puts(pla);
        puts(plb);
    }
    else
    {
        puts(pla);
    }
    return 0;
}