[C] argv[1]

Résolu
Bonjour,
j'aimerais comprendre pourquoi lorsque je fais ceci cela ne marche pas :

int main(int argc, char *argv[])
{
char lettre= argv[1];
printf("caractere %c\n", lettre);
printf("arg 1 : %c\n", argv[1]);

return EXIT_SUCCESS;
}

Je lance mon programme qui s'appelle test en tapant simplement :
test F

Et cela ne m'affiche rien dans le printf, j'ai un blanc quoi au lieu d'avoir la lettre F.
Pouvez-vous m'expliquer ?
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. Pour simplifier, déclarer char *argv[], équivaut exactement à déclarer char **argv.
    2
    1. merci pour l'exlication
      0
  2. Attention, j’ai posté deux messages, mais je ne suis qu’un. Bonne soirée.
    1
    1. bonjour, argv[1] est de type char *, et pas de type char.

      Pour avoir la 1re lettre du 1er argument, vous devez faire :

      char lettre = argv[1][0] ;
      ou
      char lettre = *(agrv[1]) ;
      0
      1. HAAAAAAAAAA oui c'est vrai le *argv[], un pointeur sur tableau soit **argv
        merci beaucoup à vous deux
        0