本人的代码在输出的结果中,最后一个字符会有一个空格,请问怎么去除

本人的代码在输出的结果中,最后一个字符会有一个空格,请问怎么去除
比如:
输入:1 2 2 3 1
2
输出:1 3 1
输出的结果中最后一个的1后面会多出一个空格,请问如何删除

#include
#include
#define N 100
typedef int SLTDateType;
typedef struct Node
{
    SLTDateType date;
    struct Node *next;
}Node,*LinkList;
SLTDateType LinkList_Init(LinkList &L)
{
    L=(LinkList)malloc(sizeof(Node));
    if(L==NULL)
        exit(-1);
    L->next=NULL;
    return 1;
}
void LinkList_createR(LinkList L)
{
    int x;
    char ch;
    Node *p,*r;
    r=L;
 
    while(1)
    {
        p=(LinkList)malloc(sizeof(Node));
        p->next = NULL;
        scanf("%d",&p->date);
        r->next = p;
        r = p;
        ch = getchar();
        if(ch == '\n')
            break;
    }
 
    scanf("%d",&x);
    p = L;
    while(p->next)
    {
        if(p->next->date == x)
        {
            r = p->next;
            p->next = r->next;
            free(r);
        }else
            p = p->next;
    }
}
void LinkList_print(LinkList L)
{
    Node *p;
    p=L->next;
    while(p)
    {
        printf("%d ",p->date);
        p=p->next;
    }
}
 
int main()
{
    LinkList L;
    int i;
    int n=N;
    LinkList_Init(L);
    LinkList_createR(L);
    LinkList_print(L);
    return 0;
}

空格在前面输出,不要在后面输出,即在输出第二个数前面开始输出空格。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632