如下代码所示:
#include <stdio.h>
#include <malloc.h>
#define MAXSIZE 100
typedef int Position;
typedef struct LNode *List;
struct LNode{
int Data[MAXSIZE];
Position last;
};
List initList(){
List L;
L = (List)malloc(sizeof(struct LNode));
L->last = -1;
printf("初始化成功\n");
return 1;
}
List createList(List L){
int n,i=1;
printf("请输入创建表的元素个数:");
scanf("%d",&n);
for(i=1;i<=n;i++){
printf("\n请输入第%d个元素:",i);
scanf("%d",&L->Data[i]);
}
for(i=1;i<=n;i++){
printf("创建的表为:\n");
printf("%d",L->Data[i]);
}
}
void main(){
List L;
initList(L);
createList(L);
}
在VC++ 6.0每次运行,一输入数据,就提示关闭程序。
小白刚刚弄数据结构,请大家帮忙看看哪里有问题,谢谢!
List initList(){
List L;
L = (List)malloc(sizeof(struct LNode));
L->last = -1;
printf("初始化成功\n");
return 1;
}
这个定义错了
你的返回值是1 ,1 怎么是List类型呢
另外如果你使用这个返回值List作为初始化的顺序表,那么在main函数中使用的时候,使用方法错了哦
void main(){
List L;
** initList(L);
** createList(L);****
}
改成这个
List L = initList()
你想做什么呢?不提示关闭程序,而不可以执行很多步骤吗?如果是,你至少要设计一个 While 循环,根据不同的输入来执行不同的操作,如:插入、删除、遍历等。
你不会Debug吗?