1、思想:从i+j开始,将字符向前移动j个字符,然后再计算删除的长度,赋值
2、代码
typedef struct {
char str[maxsize+1];
int length;
}Str;
void delete(Str &str,int i,int j){
if(i<str.length&&i>=0&&j>=0){//判断i,j符合条件
for(k=i+j;k<str.length;k++)//i后有j个元素,符合此判断,移动i+j后的元素,
str.ch[k-j]=str[k];
str.length=str.length-(str.length-i<j?str.length-i:j);//更新字符串的长度,如果不够j个元素,则减去i后的元素个数,否则减去j
str.ch[str.length]="\0";//最为一个数组元素置为“\0”
}
}