下面的程式不能執行,錯哪了資料結構C語言版

2021-05-18 06:20:10 字數 1392 閱讀 2393

1樓:匿名使用者

#include "stdio.h"

#include "malloc.h"

#define ok 1

#define error 0

#define overflow -2

#define list_init_size 100

#define listincrement 10

typedef struct

sqlist;

int initlist_sq(sqlist *l)

int listinsert_sq(sqlist *l, int i,int e)

q=&l->elem[i];

for(p=&(l->elem[l->length-1]);p>=q;p--)

*(p+1)=*p;

*q=e;

return ok;

}int listdelete_sq(sqlist *l, int i, int *e)

int listlength_sq(sqlist l)//求順序表的長度

void printlist_sq(sqlist l)//輸出順序表中的元素

}else

printf("空表!\n");

}//順序表應用

void reverse_seqlist(sqlist *pl)//順序表逆置

}int main()

break;

case 2:

printf("輸入刪除的位置j:");

scanf("%d",&j);

if(!listdelete_sq(&l, j, &e))

printf("刪除失敗!\n");

else

printf("刪除的元素為:%d\n",e);

break;

case 3:

int h;

h=listlength_sq(l);

printf("表長:%d\n",h);

break;

case 4:

printlist_sq(l);

break;

case 5:

reverse_seqlist(&l);

printf("逆置後");

printlist_sq(l);

break;

}printf("1:插入,2:刪除,3:表長,4:輸出,5:逆置,0:結束\n");

scanf("%d",&choice);}}

2樓:郝在益

結構體定義的有問題。

typedef struct listsqlist;

3樓:匿名使用者

可能記憶體洩露,額,很晚了。先睡覺,明天再看吧。

執行下面的程式段後,變數k中的值為int k 3,s

請問你是c 呢 還是c 呢?如果c 的話 k 0 c k 隨機數。執行下面的程式段後變數k中的值為 int k 3,s 2 s 0 k k s 0 10 給你解答一下這段 希望對你有用 int k 3,s 2 定義一個常數k為3,陣列s 2 最多裝入3個數 s 0 k 把k等於3的值賦值給陣列s中儲...

下面程式的執行結果是mainint b 101,2,3,4,5,6,7,8,9,10int q b

p是b的首地址,為int型,也就是第一個元素,p 表示下一個int型資料,所以p 2 表示第三個元素即3 選擇c,注意,這個跟資料型別有關,如果p為int,b為char,一般的 int是16位,char是8位,即2倍關係,那麼這個時候p a 就相當於b 2a 了,a是步長。q是指標,初始q指向陣列首...

c語言,下面的程式結果為啥是,c語言,下面的程式結果為啥是

恭喜你,你發現了一個非常重要的系統漏洞形式。有很多對系統的破解都是基於此原理,下面我此進行一下解釋。首先先大概指明錯誤 char buf 4 是分配了4個位元組的儲存空間,strcpy buf,aaaa 是向buf寫入5個位元組的資料,因為別忘了字串最後總隱藏著一個字串結束符 0 也就是說,strc...