想问个关于链表删除奇数项地问题,为啥我这个p->next!=NULL每次都无法争取判断跳出循环啊。
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int data;
struct node*next;
}NODE;
NODE* creat()
{
NODE* h=NULL,*r=NULL,*p;
int i = 0;
printf("please enter 5 integrets:");
for(i;i<5;i++)
{
p = (NODE*)malloc(sizeof(NODE));
scanf_s("%d", &p->data);
p->next = NULL;
if(h==NULL)
{
h = p;
r = p;
}
else
{
r->next = p;
r = p;
}
}
return h;
}
int main()
{
NODE* h,*p,*t;
h=creat();
for(p=h;(p->next)!=NULL;p=p->next)
{
if((p->next->data)%2!=0)
{
t = (NODE*)malloc(sizeof(NODE));
t = p->next;
p->next = p->next->next;
free(t);
}
}
for(p=h;p!=NULL;p=p->next)
{
printf("%d", p->data);
}
return 0;
}