#include<stdio.h>
#include<stdlib.h>
struct node{
int data;
struct node *next;
};
int main(){
struct node *p,*q,*head,*t;
int n,i,a;
head = NULL;
scanf("%d",&n);
for(i = 1;i <= n;i ++){
scanf("%d",&a);
p = (struct node*)malloc(sizeof(struct node));
p->data = a;
p->next = NULL;
if(head == NULL){
head = p;
}
else{
q->next = p;
}
q = p;
}
t = head;
while(t != NULL){
a = t->data;
printf("%d ",a);
t = t->next;
}
}
while(t->next != NULL){
a = t->data;
printf("%d ",a);
t = t->next;
}
由于之前的经验,我检查的时候也到while循环这里了,但就是没有检查出问题来。我觉得是没有举例子,后来才反应过来
t != NULL
才对