Maison > Article > développement back-end > Quelle est la différence entre scanf() et gets() en langage C ?
En langage C, les fonctions scanf() et gets() sont définies pour obtenir les entrées de sources externes et les transmettre en entrée au système. Il existe désormais quelques différences caractéristiques entre ces deux fonctions.
Voici les différences importantes entre scanf() et gets() en C -
Sr. Non. | keys | fonction scanf() | fonction gets() |
---|---|---|---|
1 | Définition | la fonction scanf() peut lire les entrées du clavier et les stocker selon le spécificateur de format donné. Il lit l'entrée jusqu'à ce qu'un espace, une nouvelle ligne ou un EOF soit rencontré. | D'autre part, la fonction gets() est utilisée pour recevoir des entrées du clavier jusqu'à ce qu'un caractère de nouvelle ligne ou EOF soit rencontré. Les espaces sont considérés comme faisant partie de l'entrée. |
2 | WhiteSpace | Dans la fonction scanf(), les espaces ne sont pas considérés comme des caractères d'entrée et il arrêtera également de lire les entrées d'une source externe si des espaces sont rencontrés entre les deux. | D'autre part, dans la fonction get(), l'espace est considéré comme un caractère d'entrée et il est également considéré comme un caractère d'entrée. Si des espaces sont rencontrés au milieu, arrêtez de lire l’entrée de la source externe et continuez la lecture à partir de la source d’entrée. |
3 | Syntaxe | La fonction scanf() prend une chaîne de format et une liste d'adresses variables. Par exemple, scanf("%d", &number); | D'autre part, la fonction get() prend le nom de la variable pour stocker la valeur reçue. Par exemple, la fonction gets(name); |
4 | DataType | scanf() peut lire plusieurs valeursde différents types de données. td> | Mais d'un autre côté, la fonction get() n'obtiendra que les données de chaîne. |
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!