用到的字符串 函数:
strstr(str1,str2);在str1中查找str2子串,若存在,返回str1中该字串的首元素地址;若不存在,返回NULL。
strcat (str1,str2);将str2衔接到str1之后,但不能衔接str1本身。
strncat(str1,str2,n);将str2的n个字符 衔接到str1之后,可以衔接str1本身。
#include<stdio.h>
#include<string.h>
//判断arr2是否为arr1旋转字符串得到的。
//abcdefabcdef 原理:在str1后面追加一个str1
//若arr2是它的子串,则arr2是为arr1旋转字符串得到的。
int is_left_remove(char* str1, char* str2)
{
int len = strlen(str1);
int len2 = strlen(str2);
if (len!=len2)
{
return 0;
}
strncat(str1, str1, 6);//在str1后面追加一个str1
char* ret = strstr(str1, str2);
if (ret==NULL)
{
return 0;
}
else
{
return 1;
}
}
int main()
{
char arr1[20] = "abcdef";
char arr2[] = "cdefba";
int ret = is_left_remove(arr1, arr2);
if (ret==1)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
return 0;
}