检索字符串

这道题不难,但是其中有些细节掌握需要用心,注释比较完备。
1
char str1[80]; 2 char str2[80]; 3 int i = 0,j = 0,k; 4 int count =0,c = 0; 5 printf("请输入源字符串:"); 6 gets(str1); 7 printf("请输入需要查找的字符串"); 8 gets(str2); 9 //从源字符串的第一个字符开始查找 10 for(i=0;str1[i];i++) 11 { 12 //如果剩余字符串的长度小于查找字符串则终止循环 13 if(strlen(str1) - i <strlen(str2)) 14 { 15 break; 16 } 17 else 18 { 19 //如果源字符的第i个字符等于查找字符的第一个字符 20 if(str1[i] == str2[j] || str2[j] == '?') 21 { 22 //取当前i位置字符,循环查找等于查找字符长度 23 for(j = 0,k = i;str2[j];j++,k++) 24 { 25 //如果字符符合 26 if(str1[k] == str2[j] ||str2[j] =='?') 27 { 28 count++; 29 } 30 } 31 //如果相同字符等于查找字符长度,则计数 32 if(count == strlen(str2)) 33 { 34 c++; 35 } 36 } 37 //重置变量 38 count =0; 39 j=0; 40 } 41 } 42 printf("%d",c); 43 system("Pause"); 44 return 0;
原文地址:https://www.cnblogs.com/baikequanshu/p/3372694.html