问题遇到的现象和发生背景
microsoft visual 2010
用代码块功能插入代码,请勿粘贴截图
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
/*定义顺序表*/
typedef struct Seqlist
{
char date[100];
int length;
}seqlist;
/*初始化顺序表*/
void Initlist(struct Seqlist *L)
{
L->length=0;
}
/*建立顺序表*/
int Creatlist(Seqlist *L,int a[],int n){
if(n>100){
printf("空间不足");
return 0;
}
for( int j=0;j<n; j++)
{
L->date[j]=a[j];
}
L->length=n;
return 1;
}
/*输出顺序表*/
int Put(Seqlist *l,int n){
int i;
for(i=0;i<n;i++){
printf("%d,l->date[i]");
}
return 0;
}
/*按序查找*/
int Get(Seqlist *L,int i){
if(i<1||i>L->length){
printf("查找位置不存在");
return 0;
}
else
{
int p;
p=L->date[i];
printf("查值为");
return p;
}
}
/*按内容查找*/
int Lcoate(Seqlist *L,int x){
for(int j=0;j<L->length;j++){
if(x==L->date[j]){
return j+1;
}
return 0;
}
}
/*插入*/
int Insert(Seqlist *L,int i,int x){
if(i<1||i>L->length){
printf("插入位置不存在");
return 0;
}
L->length++;
for(int j=L->length;j>i-1;j--){
L->date[j+1]=L->date[j];
}
L->date[i]=x;
return 1;
}
/*删除*/
int Delete(Seqlist *L,int i){
if(i<1||i>L->length){
printf("删除位置错误");
return 0;
}
for(int j=L->length;j>i;j--){
L->date[j-1]=L->date[j];
}
L->length--;
return 1;
}
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
Seqlist *list1;//定义
Initlist(list1);//初始化
Creatlist(list1,a,10);//创建
Put(list1,10);//输出
printf("查找序号3");
Lcoate(list1,3);
printf("\n在第三位后插入一个100:\n");
Insert(list1,3,100);//插入
printf("查找内容为100的序号");
Get(list1,100);
printf("删除序号3");
Delete(list1,3);
system ("pause");
return 0;
}
运行结果及报错内容
C4715: “Lcoate”: 不是所有的控件路径都返回值
C4700: 使用了未初始化的局部变量“list1”
我想要达到的结果、
主要问题在最后,运行就直接崩溃软件出来run-time check failure #3