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 :
et voici ce que cela donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ; }
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ./printLdcArgs titi toto tutu tutu tototiti ./printLdcArgs Erreur de segmentation (core dumped)
J'espère que quelqu'un saura m'aider et je l'en remercie d'avance !
Partager