用冒泡排序和strcmp排序大写和小写字符串

时间:2019-05-05 13:17:09

标签: c sorting

我开始学习C。

我的程序在尝试对这些字符串进行不同字符排序时会产生无限循环。

#include "string.h"
#include "stdlib.h"

void    sort(char *tab[])
{ 
    int   i;
    char  *tmp;

    i = 0;
    while (tab[i])
    {
        if (!tab[i + 1])
          return ;
        if (strcmp(tab[i], tab[i + 1]) > 0)
        {
          tmp = tab[i + 1];
          tab[i + 1] = tab[i];
          tab[i] = tmp;
          i = 0;
        }
        else 
          i++;
    }
}

int main() {
  char  *tab[] = {"_Poire", "z", "B", "c", "d", "e", "f", "Z", "x", NULL};
  sort(tab);
  return 0;
}

0 个答案:

没有答案