输出用了 do while
用while 可以实现吗?
上一篇头插法修改得来
#include<stdio.h>
#include<stdlib.h>int main()
{
struct list{
int num;
struct list* prior;
};
char key;
struct list *head = NULL;
struct list *last = NULL;
struct list *p = NULL;
printf("do u want to write ur data?\n");
scanf("%c", &key);
while(key == 'y')
{
p = (struct list*)malloc(sizeof(struct list));
if(!p)
printf("no enough memory \n");
printf("in out ur data\n");
scanf("%d", &p->num);
p->prior = NULL;
if(head == NULL)
{
head = p;
last = p;
}
else
{
p->prior = head;
head = p;
last->prior = head;
}
printf("\ndo u want to continue?\n");
scanf(" %c", &key);
}
struct list *pr = head;
do{
printf("%d", pr->num);
pr = pr->prior;
}while(pr != head);
return 0;
}