#include<stdlib.h>
#include<stdio.h> int main()
{
char s[],t[];
char *p1,*p2;
while(scanf("%s%s",s,t)!=EOF)
{
p1=s;
p2=t;
while(*p1 && *p2)
{
if(*p1 != *p2)
p2++;
else
{
p2++;
p1++;
}
}
if(*p1=='\0')
printf("Yes\n");
else
printf("No\n");
}
return ;
}
题意:判断s是不是t的字串
s: abcde
t:bcdefasdfsdfasdfsd
让s和t的左边对齐
p1指向a p2指向b
如果不等,让p2右移,直到找到,然后两个指针同时右移
有三种情况:
*p1 是 \0 *p2 是 \0
*p1 是 \0 *p2 不是\0
*p1 不是\0 *p2是\0
*p1是\0就一定将s串走完了 Yes