方法一:
创新互联-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、西部信息中心、等保安全、私有云建设等企业级互联网基础服务,服务热线:18982081108
main()函数写成int型的,即int main()
然后结束的时候
只需return 0;
代表程序正常结束
方法二:
利用
if(条件)
exit();
if语句条件满足时退出程序。
楼主的意思是在str1中删除str2中出现的字符?那么改成:
#includestdio.h
void main ()
{
char str1[9]={'t','i','n','m','f','g','y','f','s'};
char str2[3]={'A','s','g'};
int i,k,l;
for(i=0;i9;i++)
{
l=0;
for(k=0;k3;k++)
{
if (str1[i]=str2[k])
{l=1;break;}
}
if l!=1
printf("%c",str1[i]);
}
}
下面函数在p1中删除p2中出现的任何字符。
void delall(char *p1, char *p2)
{
char *pNext, *p;
// NULL string is ignored.
if(NULL == p1 || NULL == p2)
return;
for(pNext=p1; *pNext; pNext++){
// Find current char in p2.
for(p=p2; *p; p++){
if(*pNext == *p){ // Skip char found in p2.
break;
}
}
// Append next char to result.
*p1 = *pNext;
// Increase result point when this char not found int p2.
if(!*p)
*p1 ++;
}
*p1 = 0;
}
删除串比较麻烦,删除一个子串后可能会在原字符串中构造出一个新的子串,所以处理起来不是太简单,比如输入字符串:abcdeddefeffghijklmn,从中删除def
如果不计较效率的话重新扫描那部分回退到p1开始就行了,更清晰点。
下面函数在p1中删除p2字符串。
void del(char *p1, char *p2)
{
char *p;
int len1, len2;
// NULL string is ignored.
if(NULL == p1 || NULL == p2)
return;
len1 = strlen(p1);
len2 = strlen(p2);
// p2 is not a substring of p1.
if(len2 len1)
return;
// Find p2 in p1.
for(p=p1; len1 = len2; p++, len1--){
if(strncmp(p, p2, len2) == 0){
memmove(p, (p+len2), (len1-len2));
*(p+(len1-len2)) = 0; // End of string.
// Rewind pointer to string start
// (memmove may construct a new string p2 in p1).
if((p - p1) len2){
p -= len2;
len1 += len2;
}else{
p = p1;
len1 = strlen(p1);
}
continue;
}
}
}
当前标题:c语言如何使一个函数去掉 c语言删除函数怎么写
URL标题:https://www.cdcxhl.com/article16/hjjidg.html
成都网站建设公司_创新互联,为您提供Google、小程序开发、做网站、定制网站、微信公众号、网页设计公司
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联