问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
#include<stdio.h>
#include<string.h>
int main(){
char s1[100001],s2[100001];
while(scanf("%s\n%s",s1,s2)!=EOF){
if(strlen(s1)<strlen(s2)){
printf("no\n");
}
strcat(s1,s1);
if(strlen(s1)>=strlen(s2))
{
if(strstr(s1,s2)==NULL){
printf("no\n");
}
else
printf("yes\n");
}
}
return 0;
}
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
想知道为啥我直接用strcat(s1,s1)调试的时候报错,用了s3让它等于s1再连接s1就是对的了,莫非是因为strcat不能连接相同的字符串??