我比较字符串的两个数组,但程序比较一些字符串后异常终止:比较字符串时,下面的程序异常终止?
什么是错我的代码?
int main()
{
int N,Q;
printf("Enter no. of strings:");
scanf("%d",&N);
char *a[N],*b[Q],k[50],*p;
int len;
//scanning first array of strings
for(int i=0;i<N;i++)
{
scanf("%s",k);
len=strlen(k);
p=(char*)malloc((len+1)*sizeof(char));
strcpy(p,k);
a[i]=p;
}
printf("no. of Query:");
scanf("%d",&Q);
//scanning second array of strings
for(int i=0;i<Q;i++)
{
scanf("%s",k);
len=strlen(k);
p=(char*)malloc((len+1)*sizeof(char));
strcpy(p,k);
b[i]=p;
}
***//comparing both the arrays of strings***
for(int i=0;i<Q;i++)
{
for(int j=0;j<N;j++)
{
int i=strcmp(a[j],b[i]);
printf("%d\t",i);
}
printf("\n");
}
return 0;
}
为什么这么多问号? 。 –
'字符* B [Q];'必须的scanf( “%d” 之后','&Q);我 – BLUEPIXY
输出attched图像 –