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
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;}
& 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!