函数功能: 查找dest字符串中连续不包含在src字符串中的字符数量
1 #include<stdio.h>
#include<stdlib.h> void strccspn(const char*dest,const char* src,int *count){
char *init_src=(char*)src;
int n=;
while(*dest!=*src && *dest!='\0'){
for(;*src!='\0';src++){
printf("enter\n");
if(*dest==*src){
printf("enter2\n");
break;
}
}
if(*dest!=*src && *src=='\0'){
printf("n %d\n" ,++n);
*count=*count+; }
if(*dest==*src){
break;
}
src=init_src;
dest++;
}
} int main(void){
int *cnt=(int*)malloc(sizeof(int));
char *str1="aabcdfeffg";
char *str2="ghimjbk";
*cnt=;
if(cnt!=NULL){
strccspn(str1,str2,cnt);
printf("cnt is :%d\n",*cnt);
}else
return -;
free(cnt);
return ;
}
结论:
通过屏蔽和打开代码,
20 if(*dest==*src){
21 break;
22 }
获知, break 关键字只能退出本/一层循环(for,while),而不能退出内外多层循环。