[英]Getting Segmentation fault when using qsort for sorting array of strings in C
[英]Segmentation fault when sorting an array of strings when using strcpy in c code
我正在嘗試對字符串數組進行排序。如果我刪除行
strcpy(a[j-1],a[j]);
終端不會崩潰。
如果是問題,則以這種方式分配字符串數組
array=(char **)malloc(sizeof(char *)*N);
for(i=0;i<N;i++)
array[i]=(char *)malloc(sizeof(char)*6);
排序功能
void bubblesort1(char **a,int K)
{
int i,j;
char temp[6];
for(i=1; i<K; i++)
for(j=(K-1); j>=i; j--)
{
if(strcmp(a[j],a[j-1])>0)
{
strcpy(temp,a[j-1]);
strcpy(a[j-1],a[j]);
strcpy(a[j],temp);
}
}
}
我為什么會墜毀?
使用字符串時,請確保為空終止符留出一個額外的字節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.