求教 c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define MAXLINE 1000
int getline(char line[],int max);
int strindex(char sourse[],char searchfor[]);
char v[]="ould";
char pattern[]="ould";
int main()
{
char line[MAXLINE];
int found=0;
while(getline(line,MAXLINE)>0)
if(strindex(line,pattern)>=0)
{
printf("%s",line);
found++;
}
return found;
}
int getline(char s[],int lim)
{
int c,i;
i=0;
while(--lim>0&&(c=getchar())!=EOF&&c!='\n')
s[i++]=c;
if(c=='\n')
s[i++]=c;
return i;
}
int strindex(char s[],char t[])
{
int i,j,k;
for(i=0;s[i]!='\0';i++){
for(j=i,k=0;t[k]!='\0'&&s[j]==t[k];j++,k++);
if(k>0&&t[k]=='\0')
return i;
}
return -1;
}
上述函数是将包含字符“ould”的行打印出来
但是编译过程中,只能输入一行,打印一行
求教
能否改动上面的程序使其一次性输入多行
然后打印出所有包含“ould”的行