为什么result输不出来?
结果中的result 为什么输不出来?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void longestcommonSubsequence(char*a,char*b,char*result)
{
int **d;
int m=strlen(a),n=strlen(b);
int i,j,len;
d=(int**)malloc(sizeof(int*)*(m+1));
for(i=0;i<=m;i++)
{
d[i]=(int*)malloc(sizeof(int)*(n+1));
}
for(i=0;i<=m;i++)
{
d[i][0]=0;
}
for(j=0;j<=n;j++)
{
d[0][j]=0;
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
if(a[i-1]==b[i-1])
{
d[i][j]=d[i-1][j-1];
}
else if(d[i][j-1]<=d[i-1][j])
{
d[i][j]=d[i-1][j];
}
else
{
d[i][j]=d[i][j-1];
}
}
}
len=d[m][n];
result[len]='\0';
i=m;j=n;
while(i!=0 && j!=0)
{
if(a[i-1]==b[j-i])
{
result[--len]=a[i-1];
i--;j--;
}
else if(d[i][j-1]<=d[i-1][j])
{
i--;
}
else
{
j--;
}
}
for(i=0;i<=m;i++)
{
free(d[i]);
}
free(d);
}
#define MAX_LEN 100
int main(void)
{
int *a="abcd",*b="xbadz";
int result[MAX_LEN+1];
longestcommonSubsequence(a,b,result);
printf("a:%s\nb:%s\nresult:%s\n",a,b,result);
system("pause");
return 0;
}