为什么赋值赋不上呢?

来源:百度知道 编辑:UC知道 时间:2024/05/30 06:00:27
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#define T printf("input the L->data :\n")
typedef struct LNode
{
char data[20];
struct LNode *next;
}LNode,*LinkList;
int Initial_LinkList(LinkList L,int i)
{
LNode *test;
test=(LNode*)malloc(sizeof(LNode));
gets(test->data);
printf("test->%s\n",test->data);
return 1;
}
main()
{
printf("input the LinkList:\n");
LinkList p;
int j;
int end;
printf("j=\n");
scanf("%d",&j);
p=(LNode*)malloc(sizeof(LNode));
end=Initial_LinkList(p,j);
}
为什么在initial_linklist里面的gets()不好使呢,

gets(test->data);改成这个好了
scanf("%s",test->data);

int Initial_LinkList(LinkList L,int i)
{
LNode *test;
test=(LNode*)malloc(sizeof(LNode));
gets(test->data);
printf("test->%s\n",test->data);
return 1;
}
前面test已经有所指向
再用gets(test->data);便从 data首地址开始输入数据,但 data原有数不一定会被完全覆盖
乱说别砸