C语言链表问题急 在线等答案

来源:百度知道 编辑:UC知道 时间:2024/06/19 02:57:55
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
////////链表结构体////////
struct chain
{
char data;
struct chain *next;
};
////////声明////////
int Menu();
struct chain *Create(void);
struct chain *Insert(struct chain *head);
struct chain *Del(struct chain *head);
void Free(struct chain *head);
void print(struct chain *head);
////////主函数////////
void main()
{
struct chain *top;
for (; ;)
{
switch (Menu())
{
case 1:
top=Create();
print(top);
printf("\n");
break;
case 2:
top=Insert(top);
print(top);
printf("\n");
break;
case 3:
top=Del(top);
print(top);
printf("\n");
break;
case 4:
Free(top);
exit(0);
}
}
}////////菜单函数//

::一直循环等到用户输入一个0~4范围的数,并返回

s=getchar(); 等待用户输入一个字符;(如果用户输入的是1,s就等于0x31)
num=(int)s-48; 这个字符和零的asiic码值(0x30)相减;(如果用户输入的是1,num就等于1。。其他类推)

循环的条件是(num<0 || num>4),即num的值不在0~4的范围内。。