函数delete(s,i,n)是作用是从字符串s中删除从第i个字符开始的n个字符,请填空。 void delete(char s[],int i, int n) { int j,k,length=0; while(s[length])

admin2013-06-11  37

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

选项

答案length++ i<length

解析 第一个循环极有可能是计算串的长度,在i<=length时字符才被删除,被删除的是从第i个到第i+n或最后一个间的所有字符。删除前,应判断i<=length。由于已经进行了-i运算,故实际应填入i<length。
转载请注明原文地址:https://kaotiyun.com/show/ORJp777K
0

最新回复(0)