首先,我们需要自定义两个函数:
int getline(char s[],int lim) //将行保存到s中,并且返回该行的长度。
int strindex(char s[],char t[])函数,t为要查找的字符串,搜索t在s中的位置,如果不存在,则返回-1
#include<stdio.h>
#include<assert.h>
#define MAXLINE 1000
char index[] = "tes" ;
int getline(char s[],int lim)
{
int i=0, c;
while(--lim > 0 && (c = getchar()) != EOF && c!='\n')
s[i++] = c ;
if(c == '\n')
s[i++] = c ;
s[i] = '\0';
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') //写这个代码的时候把\0写成了\n,导致了输出不了,真是马虎。
return i ;
}
return -1 ;
}
int main()
{
char str[MAXLINE];
printf("%d",getline(str,MAXLINE));
printf("\n");
int i = 0;
do
{
printf("%c",str[i]);
}
while(str[i++] != '\0');
printf("\n");
if(strindex(str,index) >= 0)
{
printf("%s",str);
}
return 0 ;
}