The C Programming Language-4.1

下面是c程序设计语言4.1代码以及我的一些理解

strindex函数,通过嵌套两次循环,在s[ ]和t[ ]两个数组对映元素相等且t[ ]尚未遍历完毕的情况下,不断循环,最终返回正数或-1

代码如下

 1 #include<stdio.h>
 2 #define MAXLINE 1000
 3 
 4 int get_line(char line[],int max);
 5 int strindex(char source[],char searchfor[]);
 6 
 7 char pattern[]="ould";//待查找的字符串
 8 
 9 int main()
10 {
11     char line[MAXLINE];
12     int found=0;
13 
14     while(get_line(line,MAXLINE)>0)
15         if(strindex(line,pattern)>=0){
16             printf("%s",line);
17             found++;
18         }
19     return found;
20 }
21 
22 int get_line(char s[],int lim) //get_line函数: 输入行,并保存到s[]中 23 { 24 int c,i; 25 i=0; 26 while(--lim>0 && (c=getchar()) !=EOF &&c!=' ') 27 s[i++]=c; 28 if(c==' ') 29 s[i++]=c; 30 s[i]=''; 31 return i; 32 } 33 34 int strindex(char s[],char t[]) //strindex函数: 返回t在s中的位置 35 { 36 int i,j,k; 37 38 for(i=0;s[i]!='';i++) 39 { 40 for(j=i,k=0;t[k]!='' && s[j]==t[k];k++,j++) 41 ; 42 if (k>0 && t[k] == '') 43 return i; 44 } 45 return -1; 46 }
原文地址:https://www.cnblogs.com/sgawscd/p/9842372.html