En fait c'est plus simple que cela:
Étant donné que tu vas afficher une chaîne de caractère
printf("%s\n", arg), tu peux avoir un pointeur
char* little_arg et prendre le pointeur de l'argument le plus petit.
Et ensuite tu prends le premier argument
little_arg = arg[0] (s'il existe), et tu fais des comparaisons 2 à 2 (*) en maintenant
little_arg le plus petit.
Ton affichage devient
printf("%s\n", (little_arg != NULL)? little_arg: "")).
* -> 0 avec 1, plus_petit(0/1) et 2, plus_petit(0/1/2) et 3, plus_petit(0/1/2/3) et 4, ...
Édit: Je précise puisque picodev cherche la petite bête
Lorsque je dis
arg[0] c'est le premier argument nombre, et non pas
argv[0] du
main.
Et lorsque je dis "comparer 2 à 2" ce n'est pas alphabétiquement mais 1) convertir
little_arg et l'argument suivant 2) changer
little_arg si nécessaire.
Et si on ne veut pas convertir
little_arg à chaque fois, on peut avoir un entier pour stocker sa valeur entière.
Partager