Probleme C caratére en plus :/
Résolu/Fermé
lirycs78
Messages postés
103
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
7 janvier 2010
-
7 mars 2009 à 18:04
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 8 mars 2009 à 11:13
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 8 mars 2009 à 11:13
A voir également:
- Probleme C caratére en plus :/
- Caratere speciaux - Guide
7 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
7 mars 2009 à 18:22
7 mars 2009 à 18:22
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); }
lirycs78
Messages postés
103
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
7 janvier 2010
1
7 mars 2009 à 18:35
7 mars 2009 à 18:35
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 ?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
7 mars 2009 à 18:38
7 mars 2009 à 18:38
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.
lirycs78
Messages postés
103
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
7 janvier 2010
1
7 mars 2009 à 18:39
7 mars 2009 à 18:39
Ok merci beaucoup :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lirycs78
Messages postés
103
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
7 janvier 2010
1
7 mars 2009 à 18:46
7 mars 2009 à 18:46
Juste je penser que quand on initialiser un tableau la machine rajouter automatiquement '\0' a la fin de la chaine ?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
7 mars 2009 à 18:51
7 mars 2009 à 18:51
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("*******"); }
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 836
8 mars 2009 à 11:13
8 mars 2009 à 11:13
Salut,
Juste pour mentionner la fonction memset :
peut être remplacé par :
Cdlt
Juste pour mentionner la fonction memset :
for(i = 0; i < 7; i++){ camoufle[i] = '*'; } camoufle[8]='\0';
peut être remplacé par :
memset(camoufle,'*',sizeof camoufle - 1); camoufle[sizeof camoufle - 1] = '\0';
Cdlt