cs_darkwhite
Messages postés133Date d'inscriptionvendredi 17 novembre 2000StatutMembreDernière intervention29 avril 2008
-
11 mai 2007 à 23:07
cs_darkwhite
Messages postés133Date d'inscriptionvendredi 17 novembre 2000StatutMembreDernière intervention29 avril 2008
-
12 mai 2007 à 11:14
Salut a tous, bah voila je veux resoudre l'exercice batteau d'enlever les espaces d'une chaine de caracteres. Pourtant j'ai fait ce code :
# include <stdio.h>
int main ()
{
char chaine[200];
int i=0;
scanf("%s",&chaine);
Qui evidement ne marche pas !!
En effet il m'affiche la chaine de caractere tronquée avant un espace. Je m'explique :
Si je rentre :
"je part"
il renvoit
"je"
Ou est passer l'autre partie aller savoir
Donc ou est le probleme ? merci d'avance
A voir également:
Supprimer les espaces d'une chaine de caractere en c
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 12 mai 2007 à 11:13
Avertissement à prendre en considération car gets ne permet pas de spécifier la taille du buffer.
Tu devrais utiliser fgets à la place, qui te permet de dire la taille du buffer passée. Pour le dernier paramètre, tu mets stdin pour lire sur l'entrée standard.
while(*c) signifie while(*c != 0) ou encore while(*c != '\0'), '\0' étant le caractère utilisé pour les fins de chaines. Ca veut donc dire tant qu'on n'a pas atteint la fin de la chaine.
L'utilisation des pointeurs et équivalente à un accès indexé au tableau, sauf que les instructions générées sont plus courtes. En gros ca revient au même, c'est surtout une question de goût.
cs_darkwhite
Messages postés133Date d'inscriptionvendredi 17 novembre 2000StatutMembreDernière intervention29 avril 2008 12 mai 2007 à 10:42
AHAH j'ai été un peu con sur ce coup la !!
En effet c'est juste un avertissement que le compilateur me renvoie sinon le code marche tres bien. Merci beaucoup