1. 程式人生 > >break退出循環分析

break退出循環分析

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退出循環分析