scanf et entrée
Lisez les entrées utilisateur
scanf et entrée est une leçon C Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C Academy comprend 4 leçons au total.
Fonctionnement de la lecture formatée
scanf lit les données formatées saisies par l’utilisateur. Il utilise les mêmes spécificateurs que printf.
#include <stdio.h>
int main(void) {
int x = 0;
/* scanf("%d", &x); */
x = 5;
printf("x = %d\n", x);
return 0;
}L’opérateur d’obtention d’adresse
scanf a besoin de l’adresse d’une variable pour pouvoir y stocker la valeur. C’est pourquoi vous écrivez &x.
#include <stdio.h>
int main(void) {
int x = 42;
int *p = &x;
printf("value via address = %d\n", *p);
return 0;
}Lire un entier
Pour lire un entier, transmettez %d et l’adresse d’un int.
#include <stdio.h>
int main(void) {
int n;
/* scanf("%d", &n); */
n = 7;
printf("You entered %d\n", n);
return 0;
}Lire un nombre à virgule flottante
Pour lire un float, utilisez %f ; pour un double, utilisez %lf.
#include <stdio.h>
int main(void) {
double d;
/* scanf("%lf", &d); */
d = 3.14;
printf("d = %.2f\n", d);
return 0;
}Lire plusieurs valeurs
Un seul appel à scanf peut lire plusieurs valeurs séparées par des espaces blancs.
#include <stdio.h>
int main(void) {
int a, b;
/* scanf("%d %d", &a, &b); */
a = 3; b = 4;
printf("sum = %d\n", a + b);
return 0;
}Lire un caractère
Utilisez %c pour lire un caractère. Attention : il lit également les espaces et les retours à la ligne.
#include <stdio.h>
int main(void) {
char c;
/* scanf(" %c", &c); */
c = 'X';
printf("char = %c\n", c);
return 0;
}Lire un mot
%s lit un mot délimité par des espaces blancs dans un tableau de caractères. Aucun & n’est nécessaire, car le nom d’un tableau est déjà une adresse.
#include <stdio.h>
int main(void) {
char word[20];
/* scanf("%s", word); */
word[0] = 'H'; word[1] = 'i'; word[2] = 0;
printf("word = %s\n", word);
return 0;
}Valeur renvoyée par la lecture formatée
scanf renvoie le nombre d’éléments qu’il a lus avec succès. Vérifiez cette valeur pour détecter une entrée incorrecte.
#include <stdio.h>
int main(void) {
int n = 5;
int read = 1; /* pretend scanf returned 1 */
if (read == 1)
printf("got %d\n", n);
return 0;
}Ignorer les espaces initiaux
Les spécificateurs numériques ignorent automatiquement les espaces blancs initiaux, mais pas %c. Un espace avant %c permet de corriger ce problème.
#include <stdio.h>
int main(void) {
char c = 'Y';
printf("Reading with \" %%c\" skips spaces\n");
printf("c = %c\n", c);
return 0;
}Validation des entrées
Vérifiez toujours la valeur de retour avant de faire confiance aux données.
#include <stdio.h>
int main(void) {
int value = 10;
int ok = 1;
if (ok)
printf("valid: %d\n", value);
else
printf("invalid input\n");
return 0;
}Assemblage
Un programme classique invite l’utilisateur, lit la valeur, puis l’utilise.
#include <stdio.h>
int main(void) {
int age;
printf("Enter age: ");
/* scanf("%d", &age); */
age = 20;
printf("Next year you will be %d\n", age + 1);
return 0;
}Vérification rapide
Testez votre compréhension de scanf.
Récapitulatif : scanf et les entrées
Vous avez appris à lire les entrées de l’utilisateur.
scanfutilise des spécificateurs au format de printf- Passez
&varpour indiquer où stocker la valeur - Utilisez
%lfpour les nombres de type double et%spour les mots - Vérifiez la valeur de retour pour valider l’entrée
- Placez une espace avant
%cpour ignorer les espaces blancs
Questions Fréquemment Posées
La leçon « scanf et entrée » est-elle gratuite ?
Oui — le texte complet de « scanf et entrée » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C Academy, passe à CoddyKit PRO. Le cours C Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « scanf et entrée » ?
Lisez les entrées utilisateur Tu pratiques C Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer C Academy ?
Aucune expérience préalable n'est requise. C Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « scanf et entrée » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon C Academy ?
Oui. Chaque leçon C Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Spécificateurs de format de printf
- scanf et entrée
- Largeur, précision et indicateurs
- Pièges courants des entrées-sorties