填空题
函数delete(s,i,n)的作用是从字符串s中删除从第i个字符开始的n个字符,请填空。
void delete(char s[],int i,int n)
{int j,k,length=0;
while(s[length])
{{U}}【11】 {{/U}};
-i;
j=i;
}
If({{U}} 【12】 {{/U}})
{ k=i+n;
if(i+n<=length)
while(k<length)
s[j++]=s[k++];
s[j]='/0';}
【正确答案】
1、[11] length++
【答案解析】[12] i<length
[评析] 第一个循环权有可能是计算串的长度,在i<=length时字符才被删除,被删除的是从第i个到第i+n或最后一个问的所有字符。删除前,应判断i<=length。由于已经进行了--i运算,故实际应填入i<length。