<span style="font-size:24px;">#include <stdio.h>
#include<string.h>
#define MAX 1000
//读取字符串函数
int getline(char line[],int max)//max为数组剩余长度
{
char ch;
int i=0;
while(max>0 && (ch=getchar())!=EOF && ch!='\n')
{
line[i]=ch;//读取字符放到数组Line中
i++;
max--;
}
if(ch=='\n')
line[i++]='\n';
line[i]='\0';
if(i>0) //如果读取成功,返回1,读取不成功,返回0
return 1;
else
return 0;
}
//匹配字符串
int match(char line[],char *mat)
{
int i=0;
int j=0;
for(i=0;i<strlen(line);i++)
{
for(int k=i,j=0;j<strlen(mat);j++,k++)
{
if(line[i]!=*(mat+j))
break;
}
if(*(mat+j)=='\0'&& k>0)//匹配成功
return 1;
}
}
int main()
{
char line[MAX];
char *mat="ould";
while(getline(line,MAX))
{
if(match(line,mat))
printf("%s\n",line);
}
return 0;
}</span>在终端输入多行信息,找出包含“ould”的行,并打印改行
最新推荐文章于 2021-05-23 19:59:27 发布
本文介绍了一个使用C语言实现的简单字符串匹配程序。该程序通过自定义的读取字符串函数和匹配函数,能够从标准输入读取文本并查找特定的子串。此代码示例有助于理解基本的字符串操作及条件判断。
220

被折叠的 条评论
为什么被折叠?



