我开始学习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;
}