[C] Scanf et chaînes de caractères.

Résolu
niernier Messages postés 256 Statut Membre -  
dwyane346 Messages postés 156 Statut Membre -
Bonjour,
J'ai un petit soucis : lorsque j'essaye de faire un scanf avec une chaîne de caractère j'obtiens le message d'erreur suivant : attention : format ‘%s’ expects type ‘char *’, but argument 2 has type ‘char (*)[100]’

Voici mon code source :

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    char prenom[100];
    scanf("%s", &prenom);
    printf("prenom = %s \n", prenom);
    return 0;
}

D'avance merci!
A voir également:

6 réponses

fiddy Messages postés 11653 Statut Contributeur 1 847
 
Car scanf est une fonction vraiment complexe et on a tendance à mal l'utiliser.
Par exemple, si tu mets scanf("%s", prenom); avec char prenom[5]; et que tu mets comme prénom : "geraldine", alors tu auras un segmentation fault. C'est d'ailleurs une si grave erreur qu'il est très important de mettre ses logiciels à jour ou d'appliquer les patchs pour être en sécurité ;-))).

Cdlt,
3