Maison  >  Article  >  développement back-end  >  Comment utiliser scanf pour saisir une chaîne en langage C

Comment utiliser scanf pour saisir une chaîne en langage C

醉折花枝作酒筹
醉折花枝作酒筹original
2021-04-16 11:41:4436485parcourir

En langage C, vous pouvez utiliser l'instruction "scanf ("format control string", adresse mémoire variable)" pour saisir une chaîne. Le premier paramètre de la fonction scanf() est une chaîne de format, qui spécifie le format d'entrée, analyse les informations de position correspondantes en entrée selon le spécificateur de format et les stocke dans la position pointée par le pointeur correspondant dans la liste des paramètres variables.

L'environnement d'exploitation de ce tutoriel : système Windows 7, version C++17, ordinateur Dell G3.

La forme générale de la fonction scanf

La fonction scanf est une fonction de bibliothèque standard, et son prototype de fonction se trouve dans le fichier d'en-tête "stdio.h ". Comme la fonction printf, le langage C permet également de ne pas inclure le fichier stdio.h avant d'utiliser la fonction scanf. La forme générale de la fonction scanf est :

scanf(“格式控制字符串”, 地址表列);

Parmi elles, la chaîne de contrôle de format a la même fonction que la fonction printf, mais elle ne peut pas afficher les chaînes non formatées, c'est-à-dire qu'elle ne peut pas afficher les chaînes d'invite. L'adresse de chaque variable est donnée dans la colonne du tableau d'adresses. L'adresse est composée de l'opérateur d'adresse "&" suivi du nom de la variable.

Par exemple : &a et &b représentent respectivement les adresses de la variable a et de la variable b.

Cette adresse est l'adresse allouée par le système de compilation aux variables a et b en mémoire. En langage C, on utilise la notion d'adresse, différente des autres langages. Il convient de distinguer les deux concepts différents de valeur de variable et d'adresse de variable. L'adresse de la variable est allouée par le système de compilation C et l'utilisateur n'a pas besoin de se soucier de l'adresse spécifique.

La relation entre l'adresse de la variable et la valeur de la variable

Attribuer une valeur à la variable dans l'expression d'affectation, telle que :

a=567;

Ensuite, a est le nom de la variable, 567 est la valeur de la variable, &a est l'adresse de la variable a.

Mais sur le côté gauche du numéro d'affectation se trouve le nom de la variable, et l'adresse ne peut pas être écrite. La fonction scanf attribue essentiellement une valeur à la variable, mais elle nécessite que l'adresse de la variable soit écrite, tel que &a. Les deux sont de forme différente. & est un opérateur d'adresse, &a est une expression dont la fonction est de trouver l'adresse d'une variable.

#include <stdio.h>
int main(void){
    int a,b,c;
    printf("input a,b,c\n");
    scanf("%d%d%d",&a,&b,&c);
    printf("a=%d,b=%d,c=%d",a,b,c);
    return 0;
}

Dans cet exemple, puisque la fonction scanf elle-même ne peut pas afficher la chaîne d'invite, l'instruction printf est d'abord utilisée pour afficher l'invite à l'écran, demandant à l'utilisateur de saisir les valeurs de a, b et c. Exécutez l'instruction scanf et attendez la saisie de l'utilisateur. Dans la chaîne de format de l'instruction scanf, il n'y a aucun caractère non formaté entre "%d%d%d" comme intervalle de saisie. Par conséquent, plusieurs espaces ou touches d'entrée doivent être utilisés comme intervalle de saisie entre chaque deux entrées. nombres. Tels que :
7 8 9
ou
7
8
9

Tutoriel recommandé : "C#"

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