Besoin d'aide pour les variables en C

Résolu/Fermé
Bibifoot71 Messages postés 95 Date d'inscription vendredi 23 mai 2014 Statut Membre Dernière intervention 4 mars 2015 - 21 juil. 2014 à 09:10
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 21 juil. 2014 à 19:35
Bonjour !
Alors je me posait la question si on pouvait quand même enregistrer des chaînes de caractère dans une variable car si je fais:
 int name = "rien";
    printf("Donne ton nom: ");
    scanf("%d", &name);
    printf("Bonjour %d" ,name);

et bien ça me mets la réponse avec les "codes ascii" les chiffres quoi donc si vous avez la réponse merci ^^

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
21 juil. 2014 à 10:44
Bonjour,

int name; veut dire que tu déclares un une variable de type entier.
Donc ça n'a aucun sens de mettre une chaîne de caractère.
En C, il n'y a pas de type chaîne de caractère dédié. Il faut passer par un tableau de caractère (ou équivalent).
Par exemple :
/*je déclare une chaîne de 14 caractères (le 15ème étant '\0') et j'initialise à Bibifoot*/
char name[15] = "Bibifoot";

/*je déclare une chaîne de 14 caractères (le 15ème étant réservé pour le '\0' sans initialisation (*/
char surname[15]; 


Ensuite pour le scanf, le %d est réservé pour les entiers. Pour les chaînes, on utilise %s. Par exemple :
/*pas de & devant name car name est de type pointeur dans ce contexte*/
scanf("%s", name);

Par ailleurs, je te conseille de plutôt utiliser fgets() pour éviter les mauvaises surprises.

Et pour afficher le résultat :
printf("Bonjour %s\n", name);


Je te conseille vivement de lire un tuto car il s'agit de la base : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c (au moins la partie 1).

Cdlt,
1
Bibifoot71 Messages postés 95 Date d'inscription vendredi 23 mai 2014 Statut Membre Dernière intervention 4 mars 2015 2
21 juil. 2014 à 18:23
Ok merci beaucoup je mets résolue
0
IntGrapher Messages postés 9 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 22 juillet 2014
21 juil. 2014 à 19:12
C possible de mettre un caractère dans int ...
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
21 juil. 2014 à 19:35
Ouais mais ici on parle de chaîne de caractères pas de caractères...
0