问题 填空题

函数delete(s,i,n)的作用是从字符串s中删除从第i个字符开始的n个字符,请填空。 void delete(char s[],int i,int n) { int j,k,length=0; whiles(length]) 【16】 ; -i; j=i; } if( 【17】 ) { k=i+n; if(i+n<=length)while(k<length) s[j++]=s[k++]; s[j]=’\0’; }

答案

参考答案:[16] length++

解析:[17] i<length[评析] 第—个循环极有可能是计算串的长度,在i<=length时字符才被删除,被删除的是从第i个到笫i+n或最后—个间的所有字符。删除前,应判断i<=length。由于已经进行了-i运算,故实际应填入i<length。

单项选择题
问答题