求高手看程序!!!!!!!!!!!!!
/*编一程序,将两个字符串连接起来,不要用strcat函数。*/#include<stdio.h>
#include<stdlib.h>
int M,N;
char *p;
typedef char *(*F2)(char *p);
typedef char *(*F1)(char *p1,char *p2,F2 f2);
char *allocate_dinamic_space(char *p);
char *mystrcat(char *p1,char *p2,F2 f2);
//动态分配空间
char *allocate_dinamic_space(char *p)
{
//char *p;
p=(char *)malloc(sizeof(char)*(M+N+1));
return p;
}
char *mystrcat(char *p1,char *p2,F2 f2)
{
int i,j;
for(i=0;*(p1+i)!='\0';i++)
{
*(f2(p)+i)=*(p1+i);
}
return f2(p);
}
int main()
{
char str1[100],str2[100];
printf("please input the first str!\n");
scanf("%s",str1);
printf("please input the second str!\n");
scanf("%s",str2);
for(M=0;str1[M]!='\0';M++);
for(N=0;str2[N]!='\0';N++);
F1 f1=mystrcat;
printf("%s\n",f1(str1,str2,allocate_dinamic_space));
free(p);
p=NULL;
return 0;
}
为什么 输不出来str1 里面的字符呢 求问高手!!! 该怎么改???