|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
//有两个函数的功能是一样的,只是我想尝试两种循环,但是不知道整个程序错在哪里,求大神找错
#include <stdio.h>
#define MAX 2000
int getline(char in[] , int lim);
int st(char s[] , char t[]);
char pa[] = "ould";
int main()
{
char line[MAX];
while(getline(line , MAX) > 0)
{
if(st(line , pa) >= 0)
{
printf("%s\n" , line);
}
}
}
int getline(char in[] , int lim)
{
int c;
int i = 0;
while(i < lim && (c = getchar() != EOF) && c != '\n')
{
in[i] = c;
i++;
}
if(c == '\n')
{
in[i] = c;
i++;
}
in[i] = '\0';
return i;
}
#if(0)
int st(char s[] , char t[])
{
int i , j , k;
i = 0;
while(s[i] != '\0')
{
j = i;
k = 0;
while(t[k] != '\0' && s[j] == t[k])
{
j++;
k++;
}
if(k > 0 && t[k] == '\0')
{
return i;
}
i++;
}
return -1;
}
#endif
#if(1)
int st(char s[] , char t[])
{
int i , j , k;
i = 0;
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;
}
#endif
|
|