Maison  >  Article  >  développement back-end  >  Compréhension approfondie du contrôle du format d'entrée de la fonction scanf en langage C

Compréhension approfondie du contrôle du format d'entrée de la fonction scanf en langage C

WBOY
WBOYoriginal
2024-02-18 11:49:07775parcourir

Compréhension approfondie du contrôle du format dentrée de la fonction scanf en langage C

Une compréhension approfondie du contrôle du format d'entrée de la fonction scanf en langage C nécessite des exemples de code spécifiques

En langage C, la fonction scanf est une fonction d'entrée couramment utilisée, qui nous permet de lire les données à partir des entrées utilisateur et de les convertir. il est stocké dans une variable. Afin de mieux contrôler le format d'entrée, la fonction scanf fournit des caractères de contrôle du format d'entrée, grâce auxquels nous pouvons spécifier le type de données d'entrée et certaines exigences de format spécifiques.

Ci-dessous, nous utilisons quelques exemples de code spécifiques pour expliquer en détail le contrôle du format d'entrée de la fonction scanf.

  1. Saisissez un entier

Tout d'abord, regardons un exemple simple de la façon d'utiliser la fonction scanf pour lire un entier à partir d'une entrée utilisateur et le stocker dans une variable.

#include <stdio.h>

int main() {
    int num;
    printf("请输入一个整数:");
    scanf("%d", &num);
    printf("你输入的整数是:%d
", num);
    return 0;
}

Dans cet exemple, nous utilisons "%d" comme caractère de contrôle de format, ce qui signifie que nous nous attendons à saisir un entier décimal. Parmi eux, "&num" représente l'adresse de la variable num, et la fonction scanf stockera l'entier saisi par l'utilisateur dans la mémoire correspondant à cette adresse.

  1. Saisie de nombres à virgule flottante

Ensuite, nous montrons comment utiliser la fonction scanf pour saisir des nombres à virgule flottante.

#include <stdio.h>

int main() {
    float num;
    printf("请输入一个浮点数:");
    scanf("%f", &num);
    printf("你输入的浮点数是:%f
", num);
    return 0;
}

Dans cet exemple, nous utilisons "%f" comme caractère de contrôle de format, indiquant que nous prévoyons de saisir un nombre à virgule flottante. De même, "&num" représente l'adresse de la variable num, et la fonction scanf stockera le nombre à virgule flottante saisi par l'utilisateur dans la mémoire correspondant à cette adresse.

  1. Saisie de caractères

En plus des entiers et des nombres à virgule flottante, nous pouvons également utiliser la fonction scanf pour saisir des caractères.

#include <stdio.h>

int main() {
    char ch;
    printf("请输入一个字符:");
    scanf(" %c", &ch); // 注意%c前的空格符,用于忽略之前的换行符或空格
    printf("你输入的字符是:%c
", ch);
    return 0;
}

Dans cet exemple, nous utilisons "%c" comme caractère de contrôle de format pour lire un caractère. Il convient de noter que nous avons ajouté un caractère espace avant %c. La fonction de ce caractère espace est d'ignorer le caractère de nouvelle ligne ou l'espace précédent. Cela garantit que nous lisons les caractères réels saisis par l'utilisateur.

  1. Saisissez une chaîne

Enfin, montrons comment utiliser la fonction scanf pour saisir une chaîne.

#include <stdio.h>

int main() {
    char str[100];
    printf("请输入一个字符串:");
    scanf("%s", str);
    printf("你输入的字符串是:%s
", str);
    return 0;
}

Dans cet exemple, nous utilisons "%s" comme caractère de contrôle de format pour lire une chaîne. Nous définissons un tableau de caractères str pour stocker la chaîne saisie par l'utilisateur. A noter que nous n'avons pas utilisé l'opérateur "&" après le caractère de contrôle de format "%s" car le nom du tableau représente déjà l'adresse en langage C.

Grâce aux exemples ci-dessus, nous avons une compréhension plus approfondie du contrôle du format d'entrée de la fonction scanf en langage C. Différents caractères de contrôle de format peuvent être utilisés pour lire différents types de données, et nous pouvons également utiliser certains caractères spéciaux pour gérer les caractères d'espacement dans l'entrée. La maîtrise de ces compétences permet de gérer les entrées des utilisateurs de manière plus flexible, rendant ainsi les performances de notre programme plus puissantes et plus robustes.

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!

Déclaration:
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