题目描述:判断字符串2是否是字符串1的子集。例如"AB"是"ABCDEF"的子集,“DEF”也是“ABCDEF”的子集。
代码实现:
#include <stdio.h>
#define OK 1
#define ERROR 0
int str_str(char * str1, char * str2);
int main(void)
{
int str_value;
str_value = str_str("hello", "he");
printf("%d\n", str_value);
}
int str_str(char * str1, char * str2)
{
char * s1 = NULL;
char * s2 = NULL;
if(*str2 == '\0')
{
return OK;
}
for(; *str1 != '\0'; str1++)
{
if(*str1 == *str2)
{
if(*(str2 + 1) == '\0')
{
return OK;
}
else if(*(str1 + 1) != *(str2 + 1))
{
break;
}
str2++;
}
}
return ERROR;
}
注意:
(1) 空字符串是所有字符串的子集;