Que signifie scanf en langage C ?

藏色散人
Libérer: 2020-02-26 17:14:09
original
22974 Les gens l'ont consulté

Que signifie scanf en langage C ?

Que signifie scanf en langage C ?

scanf() est une fonction de saisie en langage C. Il s'agit d'une fonction de saisie de format, qui saisit les données du clavier dans la variable spécifiée selon le format spécifié par l'utilisateur.

Comme la fonction printf, ils sont déclarés dans le fichier d'en-tête stdio.h, donc #include (Dans certaines implémentations, les fonctions printf et scanf peuvent être utilisées sans utiliser la commande précompilée #include .)

Informations détaillées :

Prototype de fonction

int scanf(const char * restrict format,...);

La fonction scanf() provient du flux d'entrée standard stdio (périphérique d'entrée standard, pointant généralement vers le clavier ) Un sous-programme général pour lire du contenu, qui peut lire plusieurs caractères dans un format spécifié et les enregistrer dans des variables aux adresses correspondantes.

Le premier paramètre de la fonction est la chaîne de format, qui spécifie le format d'entrée, analyse les informations de position correspondantes d'entrée en fonction du spécificateur de format et les stocke dans la position pointée par le pointeur correspondant dans le paramètre variable. liste. Chaque pointeur doit être non nul et correspondre un à un aux caractères de format de la chaîne.

Valeur de retour

La fonction scanf renvoie le nombre d'éléments de données lus avec succès Si une "fin de fichier" est rencontrée lors de la lecture des données, elle renvoie EOF.

Par exemple : scanf("%d %d",&a,&b);

La valeur de retour de la fonction est de type int. Si a et b sont lus avec succès, la valeur de retour de scanf est 2 ;

Si seul a est lu avec succès, la valeur de retour est 1

Si ni a ni b ne sont lus ; lu avec succès, la valeur de retour est 0 ;

Si une erreur ou une fin de fichier est rencontrée, la valeur de retour est EOF. La fin du fichier est Ctrl+z ou Ctrl+d.

Exemple : utilisez la fonction scanf pour saisir des données.

#include <stdio.h>int main(void){    int a,b,c;    printf("Give me the value of a,b,c seperated with whitespaces:\n");    scanf("%d%d%d",&a,&b,&c);    printf("a=%d,b=%d,c=%d\n",a,b,c);    return 0;}
Copier après la connexion

& dans &a,&b,&c est l'opérateur d'adressage, &a représente l'adresse de l'objet a en mémoire, qui est une rvalue. Les adresses des variables a, b, c sont allouées lors de la phase de compilation (l'ordre de stockage est déterminé par le compilateur).

Remarque ici : Si %d dans scanf est écrit consécutivement tel que "%d%d%d", lors de la saisie de données, les données ne peuvent pas être séparées par des virgules et ne peuvent être séparées que par des caractères vides (espaces). ), ou touche de tabulation ou touche Entrée) pour séparer - "2 (espace) 3 (tabulation) 4" ou "2 (tabulation) 3 (entrée) 4" etc. S'il s'agit de "%d,%d,%d", vous devez ajouter "," lors de la saisie des données, telles que "2,3,4".

Pour plus de contenu lié à la programmation, veuillez faire attention à la colonne Introduction à la programmation sur le site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!