J'ai eu du mal à écrire un code simple pour trier un tableau de char en C et échoué lamentablement. Voilà ce que j'ai jusqu'à présent:Trier un tableau de char dans C
int main()
{
char line[128];
char word[128];
int i=0;
int j;
int length;
while(fgets(line,sizeof line,stdin) != NULL)
{
length=0;
i=0;
while (line[i]!='\0')
i++;
length=i;
line[i-1]=line[i];
for (i=0;i<=length;i++)
word[i]=line[i];
for (i=length-1; i>=0; i--)
{
for (j=0;j<i;j++)
{
if (line[j] > line[i])
{
char temp;
temp=line[j];
line[j]=line[i];
line[i]=temp;
}
}
}
printf("%s %s\n",line,word);
}
return 0;
}
fichier d'origine:
overflow
array
test
string
stack
fichier de sortie:
overflow
array
test
string
stack
Cela me donne des résultats plutôt inattendus. Où vais-je mal?
Pouvez-vous définir des "résultats inattendus"? Cela fonctionne parfaitement pour moi. – casablanca
Peut-être un 'printf()' cassé? – ruslik
@casablanca: Si cela fonctionne pour moi, alors le problème est ailleurs dans mon code. Laissez-moi regarder dans – xbonez