#include <stdio.h>
#include <stdlib.h>
#define N 5
struct node{
int n;
struct node *pNext;
};
void main(){
struct node *pHead = NULL, *pEnd = NULL, *pNode = NULL;
int i=0;
printf("请输入每个节点的数据:\n");
do{
scanf("%d",&i);
if(i<N){
pNode = (struct node *)malloc(sizeof(struct node));
if(pNode != NULL){
pNode -> n = i;
pNode -> pNext = NULL;
if(pHead == NULL){
pHead = pNode;
pEnd = pNode;
}
else{
pEnd -> pNext = pNode;
pEnd = pNode;
}
}
}
}while(i< N);
pNode = pHead;
while(pNode != NULL){
printf("节点值==>%d\n", pNode -> n);
pHead = pNode;
pNode = pNode -> pNext;
free(pHead);
}
printf("\n");
}
应该要打出这个
你的if判断都是i<N, 输入的5,没有创建节点