Dans le langage de programmation C, scanf est une fonction qui signifie Scan Formatted String. Il est utilisé pour lire les données de stdin (flux d'entrée standard, c'est-à-dire généralement le clavier), puis écrit le résultat dans les arguments donnés.
- Il accepte les données de caractères, de chaînes et numériques de l'utilisateur à l'aide d'une entrée standard.
- scanf utilise également des spécificateurs de format comme printf.
Syntaxe scanf
La syntaxe de scanf() en C est similaire à la syntaxe de printf().
chaîne en entier en java
int scanf( const char * format , ... );>
Ici,
- int est le type de retour. format est une chaîne qui contient le(s) spécificateur(s) de format. … indique que la fonction accepte un nombre variable d'arguments.
Exemples de spécificateurs de format reconnus par scanf :
%d pour accepter la saisie d'entiers.
%ld pour accepter la saisie d'entiers longs
%lld pour accepter la saisie d'entiers longs et longs
%F pour accepter la saisie d'un nombre réel.
%c pour accepter la saisie de types de caractères.
%s pour accepter l'entrée d'une chaîne.
Pour en savoir plus sur les spécificateurs de format, reportez-vous à cet article – Spécificateurs de format en C
Exemple:
int où ;
scanf(%d, &var);Le scanf écrira la valeur saisie par l'utilisateur dans la variable entière était.
Valeur de retour de scanf
Le scanf en C renvoie trois types de valeurs :
debout
- >0 : le nombre de valeurs converties et attribuées avec succès. 0 : aucune valeur n'a été attribuée. <0 : erreur de lecture rencontrée ou fin de fichier (EOF) atteinte avant toute affectation.
Pourquoi &?
Lors de l'analyse de l'entrée, scanf doit stocker ces données d'entrée quelque part. Pour stocker ces données d'entrée, scanf doit connaître l'emplacement mémoire d'une variable. Et voici l'esperluette à la rescousse.
- & est également appelé comme adresse de l'opérateur.
- Par exemple, &var est l'adresse de var.
Exemple de scanf
Vous trouverez ci-dessous le programme C pour implémenter scanf :
C
// C program to implement> // scanf> #include> // Driver code> int> main()> {> >int> a, b;> > >printf>(>'Enter first number: '>);> >scanf>(>'%d'>, &a);> > >printf>(>'Enter second number: '>);> >scanf>(>'%d'>, &b);> > >printf>(>'A : %d B : %d'> ,> >a , b);> > >return> 0;> }> |
analyser la chaîne en entier
>
>
Sortir
Enter first number: 5 Enter second number: 6 A : 5 B : 6>
Article associé:
- Scansets en C