Maison > Article > développement back-end > Quelles sont les fonctions d’entrée en langage C ?
Les fonctions d'entrée du langage C sont : 1. la fonction scanf(), qui lit l'entrée formatée à partir de l'entrée standard stdin ; 2. la fonction getchar(), qui obtient un caractère à partir de l'entrée standard stdin ; gets() La fonction lit une ligne à partir de l'entrée standard stdin ; 4. La fonction getch() lit une chaîne à partir du flux stdin et s'arrête lorsqu'un caractère de nouvelle ligne ou EOF est reçu.
L'environnement d'exploitation de ce tutoriel : système Windows7, version c99, ordinateur Dell G3.
Les fonctions d'entrée du langage C sont :
1、scanf
valeur de retour
la fonction scanf() renvoie le nombre d'éléments de données attribués avec succès, read Si une erreur se produit à la fin du fichier, EOF est renvoyé.
Par exemple :
scanf("%d%d", &a, &b);
Si a et b sont lus avec succès, alors 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 avec succès, la valeur de retour est 0
Si une erreur est rencontrée ou si la fin du fichier est rencontrée, la valeur de retour est EOF
et renvoie La valeur est de type int
Caractère vide : Un caractère vide entraînera l'omission par la fonction scanf() d'un ou plusieurs caractères vides dans l'entrée lors de l'opération de lecture.
Caractère non-espace : un caractère non-espace fera que la fonction scanf() éliminera les caractères identiques au caractère non-espace lors de la lecture.
Choses auxquelles vous devez faire attention lors de l'utilisation de la fonction scanf
(1) Pour les tableaux de chaînes ou les variables de pointeur de chaîne, puisque le nom du tableau et le nom de la variable de pointeur eux-mêmes sont des adresses, lors de l'utilisation de scanf (), il n'est pas nécessaire d'ajouter l'opérateur "&" devant eux.
(2) Un entier peut être ajouté entre chaque spécificateur de format "%" dans la chaîne de format pour représenter le nombre maximum de chiffres dans toute opération de lecture.
(3) Il n'y a pas de contrôle de précision dans la fonction scanf().
Par exemple : scanf("%5.2f",&a); Vous ne pouvez pas tenter d'utiliser cette instruction pour saisir un nombre réel avec 2 décimales.
(4) Scanf nécessite que l'adresse de la variable soit donnée. Si le nom de la variable est donné, une erreur se produira
Par exemple, scanf("%d",a); et doit être remplacé par scnaf ("%d",&a) ;
(5) Lors de la saisie de plusieurs données numériques, s'il n'y a pas de caractères non formatés dans la chaîne de contrôle de format pour séparer les données d'entrée, des espaces, des tabulations ou des retours chariot peuvent être utilisés comme intervalles.
La compilation C considérera que les données se terminent lorsqu'elles rencontrent un espace, une TAB, un retour chariot ou des données illégales (par exemple, lorsque "12A" est saisi pour "%d", A est une donnée illégale).
(6) Lors de la saisie de données de caractères (%c), s'il n'y a aucun caractère non formaté dans la chaîne de contrôle de format, tous les caractères saisis sont considérés comme des caractères valides.
(7) S'il y a des caractères non formatés dans la chaîne de contrôle de format, les caractères non formatés doivent également être saisis lors de la saisie.
2、getchar
getchar a une valeur de retour int Lorsque le programme appelle getchar, le programme attend que l'utilisateur appuie sur la touche. Les caractères saisis par l'utilisateur sont stockés dans le clavier. buffer. Jusqu'à ce que l'utilisateur appuie sur Entrée (le caractère de retour chariot est également placé dans le tampon). Lorsque l'utilisateur tape Entrée, getchar commence à lire un caractère à la fois à partir du flux stdin. premier caractère saisi par l'utilisateur. Le code ASCII du caractère si une erreur se produit, -1 est renvoyé et les caractères saisis par l'utilisateur sont renvoyés à l'écran. Si l'utilisateur saisit plus d'un caractère avant d'appuyer sur Entrée, autre. les caractères seront conservés dans la zone tampon du clavier, en attendant la lecture des appels getchar suivants. En d'autres termes, les appels getchar suivants n'attendront pas que l'utilisateur appuie sur une touche, mais liront directement les caractères dans le tampon. l'utilisateur doit appuyer sur une touche jusqu'à ce que les caractères du tampon aient été lus
3、getch
Les fonctions de base de getch et getchar sont les mêmes. La différence est que getch obtient la valeur de la clé. directement depuis le clavier et n'attend pas que l'utilisateur appuie sur Entrée. Tant que l'utilisateur appuie sur une touche, getch renvoie immédiatement la valeur de retour de getch est le code ASCII saisi par l'utilisateur, l'erreur renvoie -1. les caractères ne seront pas répercutés sur l'écran. La fonction getch est souvent utilisée dans le débogage du programme, les résultats pertinents sont affichés à des emplacements clés pour la visualisation, puis la fonction getch est utilisée pour suspendre le programme lorsque le programme continue de s'exécuter. après avoir appuyé sur n'importe quelle touche
4、gets
Fonction : Lire la chaîne du flux stdin jusqu'à ce qu'elle s'arrête lorsqu'un caractère de nouvelle ligne ou EOF est reçu, et stocker le résultat de la lecture dans le tableau de caractères pointé vers par le pointeur de tampon. Le caractère de nouvelle ligne n'est pas utilisé comme contenu de la chaîne lue. Le caractère de nouvelle ligne lu est converti en valeur nulle et termine la chaîne.
Valeur de retour : Si la lecture est réussie, le même pointeur que le tampon de paramètres est renvoyé ; si EOF (End-of-File) ou une erreur se produit pendant le processus de lecture, un pointeur NULL est renvoyé. Par conséquent, lorsque vous rencontrez une valeur de retour NULL, utilisez la fonction ferror ou feof pour vérifier si une erreur s'est produite ou si EOF a été rencontré.
Si vous souhaitez en savoir plus sur la programmation, faites attention à la rubrique Formation php !
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!