C语言 代码加上while语句就不能运行,为什么 while语句是要实现功能的,这里简化了,但还是无法运行

#include<stdio.h>
#include <stdlib.h>
#define MaxSize 50
typedef struct {
int data[MaxSize];
int length;
}SqList;

void main(){

SqList La={{2,4,31,42,51,69,77,84,96,99},10};
Delst(&La,5,44);
ShowList(&La);
system("pause");
}

int ShowList(SqList *L) //显示顺序表
{
int i;
for(i=1;i<L->length;i++)
printf("%d ",L->data[i]);
printf("\n");

return 0;
}

int Delst(SqList *L,int s,int t){

int i=0;
int Fastu;
int Lastu;
*** //while (L->data[i]>=s){
**** while (i>=5){
*** //Fastu=i;
*** i++;
*** }

int j=0;
for(j=4;j<L->length;j++){
L->data[j]=L->data[j+(5)];
}
L->length=L->length-(5);
return 0;
}

/*

2 4 31 42 51 69 77 84 96 99

2 4 51 69 77 84 96 99

请按任意键继续. . .

*/

#include <stdio.h>
#include <stdlib.h> 

#define MaxSize 50

typedef struct {
int data[MaxSize];
int length;
}SqList;

int ShowList(SqList *L) { //显示顺序表
    int i;
for(i = 0;i < L->length;i++)
printf("%d ",L->data[i]);
    printf("\n");
    return 0;
}

void Delst(SqList *L,int s,int t) { // 删除 s 到 t 之间的数
int i,j,k;
if(t < s) { k = s; s = t; t = k; }
for(i = 0; i < L->length; ++i) {
if(L->data[i] >= s && L->data[i] <= t) {
for(j = i; j < L->length - 1; ++j)
L->data[j] = L->data[j + 1];
--L->length;
--i;
}
}
}

int main() {
SqList La = {{2,4,31,42,51,69,77,84,96,99},10};
ShowList(&La);
Delst(&La,5,44);
ShowList(&La);
system("pause");
return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答