#include<stdio.h>
#define MAXSIZE 10
typedef struct {
int elem[MAXSIZE];
int length;
}sqlist;
void listdelete(sqlist &l,int i){
for(int j=i;j<l.length;j++){
l.elem[j-1]=l.elem[j];
printf("111\n");
}
l.length--;
}
int main(){
sqlist l;
int n;
l.length=n;
scanf("%d",&n) ;
for(int i=0;i<n;i++){
scanf("%d",&l.elem[i]);
}
int i;
scanf("%d",&i);
printf("Before:(%d",l.elem[0]);
for(int i=1;i<n;i++){
printf(",%d",l.elem[i]);
}
printf(")\n");
if(i<1||i>l.length){
printf("Delete position error!");
}
else{
listdelete(l,i);
printf("After:(%d",l.elem[0]);
for(int j=1;j<l.length;j++){
printf(",%d",l.elem[j]);
}
printf(")");
}return 0;
}
为什么第3个数明明在范围内,为什么输出不正确