Tableau de caractere en C

paf84 -  
tafiscobar Messages postés 1281 Statut Contributeur -
bonjour je voudrai afficher le mot marseille
sachante que marseille est une structure
typedef struct
{
double x;
double y;
char nom[20];
}ville;
ville marseille;
donc *marseille.nom="marseille";
pourquoi cela ne fonctionne lorsque que je tape
printf("%c",marseille.nom);
merci

5 réponses

  1. Nico
     
    Yop,

    si je ne me trompe pas %c sert à afficher un caractère et pas une chaine de caractère. Essaye plutot avec un %s.

    ++

    Nico
    0
  2. paf84
     
    merci mais ca ne fonctionne pas avant cela affichait qu'un caractere maintenant ca fait des cractreres inconnus
    0
  3. Nico
     
    Est-ce que ta chaine se termine par "\0"?? Parce que je crois que %s affiche tant qu'il ne trouve pas \0 qui indique la fin de la chaine de caractère.

    ++

    Nico
    0
  4. blurk Messages postés 493 Date d'inscription   Statut Membre 160
     
    de toutes facons, *marseille.nom="marseille";
    ca n'existe pas en c. (pas plus que*marseille.nom=="marseille"; )

    cordialement
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. tafiscobar Messages postés 1281 Statut Contributeur 177
     
     strcpy (marseille.nom, "marseille"); 
     *marseille.nom ="marseille" ;  // La tu mets ds la premiére case de 
    // nom, le caractere 'm' et 
    // cela parce que le '.' est prioritaire par rapport au '*'. 


    tafiscobar "lou waye def bopame"
    la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
    0