本人的代码在输出的结果中,最后一个字符会有一个空格,请问怎么去除
比如:
输入:1 2 2 3 1
2
输出:1 3 1
输出的结果中最后一个的1后面会多出一个空格,请问如何删除
#include<stdio.h>
#include<stdlib.h>
#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;
}