Tableau de caractere en C

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. 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
    1. merci mais ca ne fonctionne pas avant cela affichait qu'un caractere maintenant ca fait des cractreres inconnus
      0
      1. 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
        1. de toutes facons, *marseille.nom="marseille";
          ca n'existe pas en c. (pas plus que*marseille.nom=="marseille"; )

          cordialement
          0
          1. Contributeur
             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