afficher les arguments de la LDC
Bonjour,
Je viens vous demander de l'aide car je début ce langage et j'ai un petit problème pour un exercice.
Le but de cet exercice et d'afficher les arguments de ligne de commande mais plusieurs contraintes sont à respecter :
- les arguments doivent s'afficher du dernier au premier
- je dois obligatoirement utiliser une boucle while
- je dois obligatoirement redéfinir argv avec argv += argc
- je n'ai pas le droit d'utiliser d'autres variables
- et bien entendu le code ne doit pas retourner d'erreur
Voici ce que j'ai pour le moment :
Code:
1 2 3 4 5 6 7 8
| #include <stdio.h>
#define str char*
int main(int argc, const str argv[])
{ argv += argc ;
while (argc)
puts(*--argv) ;
return 0 ; } |
et voici ce que cela donne :
Code:
1 2 3 4 5
| ./printLdcArgs titi toto tutu
tutu
tototiti
./printLdcArgs
Erreur de segmentation (core dumped) |
J'obtiens bien les arguments dans le sens inversé mais j'ai fatalement une erreur en fin d'exécution, j'ai testé plusieurs codes différents mais je n'ai rien de trouver de mieux.
J'espère que quelqu'un saura m'aider et je l'en remercie d'avance !