Salut à toi. En C, pour lire une chaîne de caractères, tu as plusieurs façons. Déjà il te faudra déclarer un tableau de caractère (et oui en C, une chaîne de caractères est bien un tableau de char)
char nom[100] = {0}; //Je déclare un tableau de 10
0 char (100 car l´on ne connait pas la taille du nom et ce n´est pas 100 octets qui vont faire du mal à la mémoire
) puis j´initialise tout à 0.
Bon ensuite tu fais un printf normal pour demander un prénom.
printf("Quel est ton prenom: "); //Ca tu dois comp
rendre.
Puis ensuite c´est là que tu as plusieurs méthodes pour lire une chaîne de caractères.
Tu peux utiliser un scanf :
scanf("%s",nom);
Mais là, attention si tu dépasses la limite de nom (c´est à dire 100 caractères), tu vas avoir une erreur car tu auras dépassé l´espace qui lui sera aloué on dit aussi dépassement du tampon me semble t´il. De plus scanf garde aussi en mémoire le caractère de retour chariot \n. Bref, je pense que ce n´est pas la meilleure solution. J´utilise celle-ci :
fgets(nom,100,stdin);
donc fgets va stoquer dans ton tableau nom au maximum 100 caractères. stdin correspond à l´entrée input (le clavier), stdout serait l´écran.
Ensuite savoir si le nom entré est luc, tu as une fonction toute prête de <string.h> qui est strcmp. Elle s´utilise comme ceci.
if (strcmp(nom,"luc") == 0) // si le nom est luc.
{
printf("Haha, je t´ai reconnu luc");
}
donc en gros ton programme donnerai ceci:
- include <stdio.h>
- include <stdlib.h>
- include <string.h>
int main(void)
{
char nom[100] = {0};
printf("Quel est votre nom: ");
fgets(nom,100,stdin);
if (strcmp(nom,"luc") == 0)
{
printf("Haha, je t´ai reconnu luc.");
}
else
{
printf("Bienvenue a toi %s",nom);
}
}