C-根据上案例和下部案例字母的气泡分类字符串



我正在尝试对我的2D数组进行排序。一旦到达这一点,我会得到内存泄漏:

te = word[i];
word[i] = word[i+1];

一旦到达这一点,我就会得到一个细分错误:

   word[i+1]=te;

我尝试使用strcpy复制字符串,但是当我使用时,我仍然会遇到段错误。

void word_sorter(char** word,int numWord){
        int i =0;
        int j =0;
        for(i = 0; i < numWord; i++){
            for(j = 0; word[i][j] != ''; j++){

                        if(word[i][j]>= 'A' && word[i][j] <= 'Z'){
                                 char *te;
                                te =(char*)calloc(10000,sizeof(char));
                                te = word[i];
                                word[i] = word[i+1];
                                word[i+1]=te;

                        }

               }
        }
}

我试图对字符串进行分类,以便大写字母优先于低案例字母

INPUT: aand AAnd Aand
OUTPUT:AAnd Aand aand

您正在分配内存并将该地址分配给te,然后立即用te = word[i]覆盖该值。这将泄露calloc返回的内存。

word[i+1]将在i循环的最后一次迭代中访问阵列的末尾,当i == numWord - 1时。这是您分割故障的来源。

相关内容

  • 没有找到相关文章

最新更新