[C] Scanf et chaînes de caractères.
Résolu
niernier
Messages postés
239
Date d'inscription
Statut
Membre
Dernière intervention
-
dwyane346 Messages postés 147 Date d'inscription Statut Membre Dernière intervention -
dwyane346 Messages postés 147 Date d'inscription Statut Membre Dernière intervention -
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 :
D'avance merci!
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:
- Scanf caractere c
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Caractere vide - Guide
- Caractere speciaux mac - Guide
6 réponses
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,
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,