break退出循環分析
阿新 • • 發佈:2018-09-06
bre 不包含 rcc for std 函數 print ccs col
函數功能: 查找dest字符串中連續不包含在src字符串中的字符數量
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 void strccspn(const char*dest,const char* src,int *count){ 5 char *init_src=(char*)src; 6 int n=0; 7 while(*dest!=*src && *dest!=‘\0‘){ 8 for(;*src!=‘\0‘;src++){ 9 printf("enter\n"); 10 if(*dest==*src){11 printf("enter2\n"); 12 break; 13 } 14 } 15 if(*dest!=*src && *src==‘\0‘){ 16 printf("n %d\n" ,++n); 17 *count=*count+1; 18 19 } 20 if(*dest==*src){ 21 break; 22 } 23 src=init_src; 24 dest++; 25 } 26 } 27 28 int main(void){ 29 int *cnt=(int*)malloc(sizeof(int)); 30 char *str1="aabcdfeffg";31 char *str2="ghimjbk"; 32 *cnt=0; 33 if(cnt!=NULL){ 34 strccspn(str1,str2,cnt); 35 printf("cnt is :%d\n",*cnt); 36 }else 37 return -1; 38 free(cnt); 39 return 0; 40 }
結論:
通過屏蔽和打開代碼,
20 if(*dest==*src){ 21 break; 22 }
獲知, break 關鍵字只能退出本/一層循環(for,while),而不能退出內外多層循環。
break退出循環分析