C 语言中搜索字符串的程序
实施
现在,我们将看到程序的实际实施 −
#include <stdio.h> #include <string.h> int main() { char s1[] = "Beauty is in the eye of the beholder"; char s2[] = "the"; int n = 0; int m = 0; int times = 0; int len = strlen(s2); // 包含搜索字符串的长度 while(s1[n] != '\0') { if(s1[n] == s2[m]) { // 如果搜索字符串的第一个字符匹配 // 继续搜索 while(s1[n] == s2[m] && s1[n] !='\0') { n++; m++; } // 如果我们的字符序列与搜索字符串的长度匹配 if(m == len && (s1[n] == ' ' || s1[n] == '\0')) { // BINGO!! we find our search string. times++; } } else { // 如果搜索字符串的第一个字符不匹配 while(s1[n] != ' ') { // 跳至下一个单词 n++; if(s1[n] == '\0') break; } } n++; m=0; // 将计数器重置为从搜索字符串的第一个字符开始。 } if(times > 0) { printf("'%s' appears %d time(s) ", s2, times); } else { printf("'%s' does not appear in the sentence. ", s2); } return 0; }
输出
此程序的输出应为 −
'the' appears 2 time(s)