[C] Scanf et chaînes de caractères.
Résolu
niernier
Messages postés
256
Statut
Membre
-
dwyane346 Messages postés 156 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 :
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,