Encore un pb

mailliam Messages postés 261 Date d'inscription mardi 2 juillet 2002 Statut Membre Dernière intervention 10 mars 2014 - 12 févr. 2008 à 11:36
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013 - 13 févr. 2008 à 09:49
ReHello tous..

j'aimerais n'afficher que le 1er caractère d'une chaîne, ce n'est pas juste de faire comme ca?
il ne fait pas d'erreur à la compilation, mais le programme se plante en cours d'execution :-/

  char maVariable[20]="Hello";
  printf(maVariable[1]);  // affiche e

merci d'avance

8 réponses

Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
12 févr. 2008 à 11:57
Salut
Faut vraiment que tu etudies le C. Les chaines de caracteres sont vraiment les bases de la prog en C.
La, tu peux trouver les definitions des fonctions que tu utilises et des petits exemples: juste ce qu'il te faut:
http://www.cplusplus.com/reference/clibrary/cstdio/printf.html

printf("%c",maVariable[1]);      //affiche e

A+
Mon site internet : http://pistol.petesampras.free.fr
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
12 févr. 2008 à 11:57
Salut,
Un tableau commence à l'index 0!
maVariable[0]  = H
maVariable[1]  = e
maVariable[2]  = l
maVariable[3]  = l
maVariable[4]  = o

Shell
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
12 févr. 2008 à 12:15
Pistol_Pete> Sa ligne de code est tout a fait juste, ton exemple n'est pas plus correcte que le sien, et il me semble que tu as mal compris sa demande. Néanmoins tu as raison sur le fait qu'il ferait mieux d'ouvrir un bon bouquin de C.

Shell
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
12 févr. 2008 à 12:45
Oui tu as raison DeathCrash, j'ai lu trop vite son post. Bien sur si on veut afficher la premiere lettre c'est maVariable[0]

mailliam :
 " mais le programme se plante en cours d'execution "  => ca ne vient pas de cette ligne. Verifies si tu restes bien dans ton tableau dans la suite de ton prog.

Mon site internet : http://pistol.petesampras.free.fr
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mailliam Messages postés 261 Date d'inscription mardi 2 juillet 2002 Statut Membre Dernière intervention 10 mars 2014 3
12 févr. 2008 à 14:25
ahah mince c'est pas vrai!?
honte à moi, oui je savais ca en + :-D

merci de m'avoir quand même répondu :)
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
12 févr. 2008 à 18:38
char maVariable[20]="Hello";
  printf(maVariable[1]);  // affiche e

J'ignore comme tu parviens à compiler ca (printf attend un char* et non un char).
Donc, Shell, printf("%c",maVariable[1]); est plus correct que printf(maVariable[1]); même si elle affiche le 2e et non le 1er caractère

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
gamemonde Messages postés 336 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 9 juillet 2011 2
12 févr. 2008 à 23:33
en c il compile mais fonctionne pas en execution en c++ envoi l'erreur il faut vraiment faire printf("%c",maVariable[0]);
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
13 févr. 2008 à 09:49
vecchio56> Bien vu, les longues journée ne me réussissent pas. Donc Pistol_Pete toutes mes excuses tu avais raison sur la syntaxe :-)

Shell
0
Rejoignez-nous