主题:一点点小毛病!知道哪里错了,但是不知道怎么改
#include<stdio.h>
#include"stdlib.h"
#define ERROR 0
#define OK 1
typedef struct Node
{
char a;
Node *next;
}Node,*LinkList;
InitList(LinkList *L)
{
*L=(LinkList)malloc(sizeof(Node));
(*L)->next=NULL;
}
void CreateFromTail(LinkList L)
{
Node *r,*s;
int flag;
printf("建立表\n");
flag=1;
r=L;
char b;
while(flag)
{
b=getchar();
if(b!='$')
{
s=(Node *)malloc(sizeof(Node));
s->a=b;
r->next=s;
r=s;
}
else
{
flag=0;
r->next=NULL;
}
}
}
int InsList(LinkList L,int i,char c)//*插入
{
Node *pre,*s;
int k;
if(i<1) return ERROR;
pre=L;
k=0;
while(pre!=NULL&&k<i-1)
{
pre=pre->next;
k=k+1;
}
if(!pre)
{
printf("插入位置不合理!");
return ERROR;
}
s=(Node *)malloc(sizeof(Node));
s->a=c;
s->next=pre->next;
pre->next=s;
return OK;
}
void main()
{
LinkList L;
InitList(&L);
CreateFromTail(L);
int i;
char d;
printf("插入的位置i\n");
scanf("%d",&i);
printf("插入的内容d\n");
scanf("%c",&d); [color=FF00FF]//*为什么就是不能传给值呢!?[/size][/color]
InsList(L,i,d);
Node *p;
p=L->next;
while(p!=NULL)
{
printf("%c ",p->a);
p=p->next;
}
free(L);
}
这是链表的插入,但是很奇怪,其它部分都没有任何错
但是为什么就是给插入的内容赋值时,没有效果,不管是d=getchar();
还是scanf("%c",d);感觉好想直接跳过去了
#include"stdlib.h"
#define ERROR 0
#define OK 1
typedef struct Node
{
char a;
Node *next;
}Node,*LinkList;
InitList(LinkList *L)
{
*L=(LinkList)malloc(sizeof(Node));
(*L)->next=NULL;
}
void CreateFromTail(LinkList L)
{
Node *r,*s;
int flag;
printf("建立表\n");
flag=1;
r=L;
char b;
while(flag)
{
b=getchar();
if(b!='$')
{
s=(Node *)malloc(sizeof(Node));
s->a=b;
r->next=s;
r=s;
}
else
{
flag=0;
r->next=NULL;
}
}
}
int InsList(LinkList L,int i,char c)//*插入
{
Node *pre,*s;
int k;
if(i<1) return ERROR;
pre=L;
k=0;
while(pre!=NULL&&k<i-1)
{
pre=pre->next;
k=k+1;
}
if(!pre)
{
printf("插入位置不合理!");
return ERROR;
}
s=(Node *)malloc(sizeof(Node));
s->a=c;
s->next=pre->next;
pre->next=s;
return OK;
}
void main()
{
LinkList L;
InitList(&L);
CreateFromTail(L);
int i;
char d;
printf("插入的位置i\n");
scanf("%d",&i);
printf("插入的内容d\n");
scanf("%c",&d); [color=FF00FF]//*为什么就是不能传给值呢!?[/size][/color]
InsList(L,i,d);
Node *p;
p=L->next;
while(p!=NULL)
{
printf("%c ",p->a);
p=p->next;
}
free(L);
}
这是链表的插入,但是很奇怪,其它部分都没有任何错
但是为什么就是给插入的内容赋值时,没有效果,不管是d=getchar();
还是scanf("%c",d);感觉好想直接跳过去了