#include<stdio.h>
#define Maxsize 100
#include<malloc.h>
typedef struct sqlis{
int dat[Maxsize];
int leng;
}sql;
//插入元素
void insert_list(sql *&list,int i,int e){
int j;
if(i<0||i>list->leng){
printf("插入位置错误");
}
for(j=list->leng;j>=i;j++){
list->dat[j+1]=list->dat[j];
}
list->dat[i-1]=e;
list->leng++;
}
int main(){
sql list;
int i=1;
list=(sql)malloc(sizeof(sql)); //主程序中分配空间
list->leng=6;
insert_list(list,i,11);
insert_list(list,i,11);
insert_list(list,i,11);
for(int j=0;jleng;j++){
printf("%d",list->dat[j]);
}
return 0;
}
输出的内容为空,什么都没有,求解答😭
大哥逗我呢,你main函数第一句那是个啥
修改见注释,供参考:
#include <stdio.h>
#include <malloc.h>
#define Maxsize 100
typedef struct sqlis {
int dat[Maxsize];
int leng;
}sql;
//插入元素
void insert_list(sql*& list, int i, int e){
int j;
if (i < 1 || i > list->leng + 1) { //if (i < 0 || i > list->leng)修改
printf("插入位置错误");
return; //修改
}
for (j = list->leng; j > i - 1; j++) { //for (j = list->leng; j >= i1; j++)修改
list->dat[j] = list->dat[j - 1];
//list->dat[j + 1] = list->dat[j];
}
list->dat[i - 1] = e;
list->leng++;
}
int main()
{
sql* list;
int i = 1;
list = (sql*)malloc(sizeof(sql)); //主程序中分配空间
list->leng = 0;//list->leng = 6;
insert_list(list, i, i); i++; //修改
insert_list(list, i, i); i++; //修改
insert_list(list, i, i); i++; //修改
for (int j = 0; j < list->leng; j++) {
printf("%d ", list->dat[j]);
}
return 0;
}