我刚完成程序,一切都正常,但最后显示出分段错误。我知道这是由内存或指针引起的,但在我的情况下我找不到。我不知道该怎么解决。有任何想法吗? :D
这是代码的主要部分
void dynamics(char *s){
char *p;
printf("0.");
puts(s);
int k;
int j;
int i = 0;
int a = 0;
for(k=0;k<10;k++){
a=0;
j=0;
for(i=0;*(s+i);i++)
if(*(s+i)=='A')
a++;
p=calloc(sizeof(s)+a,1);
for(i=0;*(s+i);i++) {
if(*(s+i)=='A'){
*(p+j++)='A';
*(p+j++)='B';
}
if(*(s+i)=='B'){
*(p+j++)='A';
}
}
printf("%d.", k+1);
puts(p);
przepisz(s, p);
}
}
int main(){
char algae[] = "A";
dynamics(algae);
return 0;
}