marthymbiz
Messages postés8Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention20 mars 2009
-
Modifié le 6 nov. 2019 à 20:34
marthymbiz
Messages postés8Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention20 mars 2009
-
16 mars 2009 à 22:13
Salut,
Je débute en programmation C et j'utilise Borland C++ comme compilateur.
je voudrais créer un programme C permettant de supprimer les espaces contenus dans une chaine de caractères :
voici mon code :
lors de la compilation borland m'affiche que j'ai 7 erreurs qui sont surement dus a une mauvaises manipulation des pointeurs et des chaines de caractères alors si quelqu'un peut me proposer une solution ça serai vraiment très cool
merci d'avance
A voir également:
Supprimer les espaces d'une chaine de caractère python
Python supprimer les espaces - Meilleures réponses
Supprimer les espaces python - Meilleures réponses
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 16 mars 2009 à 16:50
Salut,
La petite erreur du débutant avec les pointeurs !!
void suprEspace(char expr); // là tu passes 1 caractère
void suprEspace(char *expr); // là tu passes l'adresse d'un tableau de caractères (version correcte)
char expr[255]; // expr est l'adresse du 1er element de ton tableau
la compilation n'affiche aucune erreur mais il existe encore un problème : les expaces sont bien supprimés mais le nombre d'espaces introduits est remplacé a la fin de la chaine de caractères avec des valeurs aléatoires
c'est à dire:
si par exemple j'entre la chaine "code source"
le programme me retourne "codesourcee" le dernier 'e' est la valeur aléatoire dont je vous ai parlé.
marthymbiz
Messages postés8Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention20 mars 2009 16 mars 2009 à 22:13
En effet dans la derniere boucle de la fonction suprEspaces il fallait mettre (j=i;j<n;j++) et non (j=i;j<(n-1);j++)
sinon le zéro terminal ne subira pas de décalage d'ou l'apparition des valeures aléatoires.
Encore merci.