logo

scanf en C

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