Probleme C caratére en plus :/
Résolu
lirycs78
Messages postés
103
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voici le code : http://rafb.net/p/ajAZ4o56.html
Mon probléme se situe au moment ou il doit conter le nombre de cellule que contient le tableau : " nb = strlen(tableau); " Il en trouve 9 alors qu'il n'y en a que 7, quand j'execute le code deux caratére se rajoute : ⌂§
Et je ne sais pas pourquoi.
Aider moi svp, Merci
Voici le code : http://rafb.net/p/ajAZ4o56.html
Mon probléme se situe au moment ou il doit conter le nombre de cellule que contient le tableau : " nb = strlen(tableau); " Il en trouve 9 alors qu'il n'y en a que 7, quand j'execute le code deux caratére se rajoute : ⌂§
Et je ne sais pas pourquoi.
Aider moi svp, Merci
A voir également:
- Probleme C caratére en plus :/
- Caratere speciaux - Guide
- Caractères spéciaux : comment taper des |—[©\½→}… - Guide
7 réponses
Salut,
Je mettrais plutôt
Je mettrais plutôt
void camoufle_mot_mystere(){ int i; char camoufle[8];//de 0 à 6 = 7 case + une case pour '\0' for(i = 0; i < 7; i++){ camoufle[i] = '*'; } camoufle[i]='\0'; affiche_tableau(camoufle); }
Merci bien lami20j
Pourrait tu m'expliquer : camoufle[i]='\0';
Car si je comprend bien tu ajoute ce caractére pour dire que c'est la fin de la chaine c'est sa ?
Pourrait tu m'expliquer : camoufle[i]='\0';
Car si je comprend bien tu ajoute ce caractére pour dire que c'est la fin de la chaine c'est sa ?
Re,
Oui.
Le tableau commence à l'indice 0.
Dans la case 0 tu mets un *
Dans la case 1 tu mets un *
.
.
Dans la case 6 tu mets un *
Ca fait 7 case donc i=0;i<7
Pour i=7, la 8ème case tu mets le caractère de fin de chaîne '\0'
En sortant de la boucle i est égal à 7.
Oui.
Le tableau commence à l'indice 0.
Dans la case 0 tu mets un *
Dans la case 1 tu mets un *
.
.
Dans la case 6 tu mets un *
Ca fait 7 case donc i=0;i<7
Pour i=7, la 8ème case tu mets le caractère de fin de chaîne '\0'
En sortant de la boucle i est égal à 7.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Juste je penser que quand on initialiser un tableau la machine rajouter automatiquement '\0' a la fin de la chaine ?
Re,
Juste je penser que quand on initialiser un tableau la machine rajouter
Oui, mais tu ne l'initialises pas à la déclaration ;-)
Tu aurais du mettre par exemple
char string[]="*******";
Mais faire une fonction pour ça, je ne vois pas l'intérêt
Juste je penser que quand on initialiser un tableau la machine rajouter
Oui, mais tu ne l'initialises pas à la déclaration ;-)
Tu aurais du mettre par exemple
char string[]="*******";
Mais faire une fonction pour ça, je ne vois pas l'intérêt
void camoufle_mot_mystere(){ char camoufle[]="*******"; affiche_tableau(camoufle); }ou encore (même pas besoin de déclarer une variable)
void camoufle_mot_mystere(){ affiche_tableau("*******"); }