链表输出的->怎么删掉呀?

链表输出的->怎么删掉呀?

问题描述:

#include<stdio.h>
#include<malloc.h>
#include<math.h>

typedef struct node{
int data;
struct node next;
}node,
LinkList;
LinkList list;

void init()
{
LinkList p,q;
q=(LinkList)malloc(sizeof(node));
list=q;
scanf("%d",&(q->data));
q->next=NULL;
while(q->data>=0)
{
p=(LinkList)malloc(sizeof(node));
scanf("%d",&(p->data));
p->next=NULL;
q->next=p;
q=p;
}
p=list;
while(p->data>=0)
{
printf("->%d",p->data);
p=p->next;
}
printf("\n");
}

int main()
{
init();
LinkList p=list;

}

img

循环输出的地方,第一次不要输出箭头。


#include<stdio.h>
#include<malloc.h>
#include<math.h>
typedef struct node{
int data;
struct node next;
}node, LinkList;
LinkList list;
void init()
{
LinkList p,q;
q=(LinkList)malloc(sizeof(node));
list=q;
scanf("%d",&(q->data));
q->next=NULL;
while(q->data>=0)
{
p=(LinkList)malloc(sizeof(node));
scanf("%d",&(p->data));
p->next=NULL;
q->next=p;
q=p;
}
p=list;
int count=0;
while(p->data>=0)
{
if(count==0){
  printf("%d",p->data);
  count++;
}
else
  printf("->%d",p->data);
p=p->next;
}
}
int main()
{
init();
LinkList p=list;
}

printf("->%d",p->data);
这里把引号里的->删掉