这是指针错误吗?
查看原帖
这是指针错误吗?
1020171
Jason0802楼主2024/4/21 21:27
#include <cstdio>
#include <cstring>
char ino[15],tra[15],inoi[15],inoj[15],trai[15],traj[15];
bool f=true,f2=true;
void solve(char in[],char tr[]){
	char root=tr[strlen(&tr[0])-1];//根
	int leni=strlen(&in[0]);
	int lenl=0,lenr=0;
	for (int i=1;i<leni;i++){//ino
		if (in[i-1]==root){
			for (int j=0;j<i-1;j++){//左
				inoi[j]=in[j];
				lenl++;
			}
			for (int j=i+1;j<=leni;j++){//右
				inoj[j-i-1]=in[j-1];
				lenr++;
			}
		}
	}
	printf("%c",root);
	for (int i=0;i<lenl;i++){//tra-左
		trai[i]=tr[i];
	}
	for (int i=0;i<lenr;i++){//tra-右
		traj[i]=tr[lenl+i];
	}
	if (f){
		solve(&inoi[0],&trai[0]);
		if (lenl<=1) f=false;
	}
	if (f2){
		solve(&inoj[0],&traj[0]);
		if (lenr<=1) f2=false;
	}
}
int main(){
	scanf("%s",&ino[0]);
	scanf("%s",&tra[0]);
	solve(&ino[0],&tra[0]);
	return 0;
}
//为什么它会给我一个Thread 1 received signal SIGSEGV,segmentation fault?
2024/4/21 21:27
加载中...