我qsort
在c中使用函数..它是一个内置函数......它适用于长度小于7的字符串..在长度> 7的字符串上,它给出“分段错误(核心转储)”
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX 100
static int cmpr( const void *a, const void *b) {
return strcmp( *(char **)a, *(char **)b);
}
int main()
{
int t;
char str1[MAX],str2[MAX];
scanf("%d",&t);
while(t--)
{
scanf("%s %s",str1,str2);
int len1=strlen(str1)/sizeof(char *);
int len2=strlen(str2)/sizeof(char *);
qsort(str1, len1, sizeof(char *), cmpr);
qsort(str2, len2, sizeof(char *), cmpr);
if((strstr(str1,str2)!=NULL)&& (strlen(str1)==strlen(str2)))
printf("YES");
else if((strstr(str2,str1)!=NULL) && (strlen(str1)==strlen(str2)))
printf("YES");
else if((strstr(str2,str1)!=NULL) && (strlen(str1)!=strlen(str2)))
printf("NO");
else if((strstr(str1,str2)!=NULL) && (strlen(str1)!=strlen(str2)))
printf("NO");
else
printf("YES");
}
return 0;
}
...知道为什么吗?