实现在字符串的内部删除字符串的函数del。函数原型如下:
void del(char * s,int n,int len) ;
在s指向的字符串中,从s第n个字符的位置开始,删除len个字符,结果通过指针s返回。
n是从0开始,到s的长度-1为止。从0开始,len=s的字符串长度时,全部删除,原字符串为空字符串。
注意:使用空格字符来表示字符串的结束。
例如source指向位置,依次保存了字符'a',字符'b',字符空格' ',字符'c',则source指向的字符串为"ab"。
保存为functions.cpp。
遇到异常情况(s为null,n为负数等等),输出"error";
否则不要随意输出,会视为错误。
例如:s为以空格结尾的字符串apple
调用del(s, 2, 2);之后,删除了数组下标以2开始的2个字符pl,结果为(以空格结尾)
ape
#include<stdio.h>
void del(char * s,int n,int len)
{
char *p;
s+=n;
for(p=s+len; *s++=*p++;);
}
int main()
{
char s[]="apple";
if(s==NULL)
{
printf("error");
return 0;
}
del(s,2,2);
puts(s);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m