Différence entre scanf et gets

Différence clé - scanf vs gets
 

Une fonction est un ensemble d'instructions permettant d'exécuter une tâche spécifique. Sans écrire toutes les déclarations dans le même programme, il peut être divisé en plusieurs fonctions. En programmation, l'utilisateur peut définir ses propres fonctions. Il existe également des fonctions fournies par les langages de programmation. Le langage C fournit un certain nombre de fonctions afin que le programmeur puisse les utiliser directement sans les implémenter depuis le début. Deux de ces fonctions fournies par le langage C sont scanf et gets. Cet article explique la différence entre ces deux fonctions. le différence clé entre scanf et obtient est que scanf termine de prendre des entrées lorsqu'il rencontre un espace, une nouvelle ligne ou une fin de fichier (EOF), alors que gets considère les espaces comme faisant partie de la chaîne d'entrée et met fin à la saisie si un saut de ligne ou EOF est rencontré.

CONTENU

1. Vue d'ensemble et différence clé
2. Quel est scanf
3. Ce qui est
4. Similitudes entre scanf et gets
5. Comparaison côte à côte - scanf vs obtient sous forme tabulaire
6. Résumé

Quel est scanf?

La fonction scanf peut lire les entrées à partir du clavier et les stocker en fonction du spécificateur de format donné. Il lit l'entrée jusqu'à rencontrer un espace, une nouvelle ligne ou un EOF. La syntaxe est la suivante.

            scanf (“chaîne de formatage”, liste d'adresses de variables);

Reportez-vous à l'exemple ci-dessous pour comprendre scanf.

Figure 01:  scanf avec une entrée

Selon le programme ci-dessus, l'entrée du clavier est un entier, le spécificateur de format est donc% d. S'il obtient une valeur de caractère, le spécificateur de format est% c. Si vous obtenez une valeur à virgule flottante, le spécificateur de format est% f. La valeur d'entrée reçue doit être stockée dans la variable numérique. Par conséquent, l'adresse du numéro de variable est transmise à la fonction scanf. Maintenant, la variable numérique contient la valeur donnée par l'utilisateur à partir du clavier. Enfin, nous pouvons imprimer la variable numérique pour vérifier la valeur.

Il est également possible de recevoir plusieurs valeurs à la fois..

Figure 02: scanf avec plusieurs entrées

Les entrées reçues sont stockées dans les variables numéro1 et numéro2. Les valeurs peuvent être vérifiées en utilisant printf.

Ce qui est?

obtient la fonction utilise pour recevoir des entrées du clavier jusqu'à rencontrer une nouvelle ligne ou EOF. Les espaces sont considérés comme une partie de l'entrée. La syntaxe de la fonction get est la suivante.

            obtient (“où stocker la chaîne”);

S'il y a une erreur lors de la réception de la chaîne, la fonction gets retournera une valeur null.

Reportez-vous à l'exemple ci-dessous,

Figure 03: obtient

L'entrée est reçue par la fonction gets et stockée dans la variable mot1. Si le programmeur a utilisé scanf au lieu de get et a entré une chaîne telle que «hello world», scanf lira la chaîne sous forme de deux chaînes en raison des espaces. Mais obtient va le lire comme une chaîne "hello world".

Quelles sont les similitudes entre scanf et gets?

  • Les deux sont des fonctions fournies par le langage de programmation C.
  • Les deux doivent inclure le fichier d'en-tête stdio.h pour utiliser ces fonctions.
  • Les deux peuvent être utilisés pour obtenir l'entrée de l'entrée standard.

Quelle est la différence entre scanf et obtient?

scanf vs obtient

scanf est une fonction C permettant de lire une entrée depuis l'entrée standard jusqu'à rencontrer un espace, une nouvelle ligne ou un EOF.  gets est une fonction C permettant de lire une entrée depuis une entrée standard jusqu'à rencontrer une nouvelle ligne ou un EOF. Il considère les espaces comme une partie de l'entrée.
 Syntaxe
La fonction scanf prend la chaîne de formatage et la liste des adresses des variables. par exemple. scanf (“% d”, & nombre); La fonction gets prend le nom de la variable pour stocker la valeur reçue. Par exemple. obtient (nom);
La flexibilité
scanf peut lire plusieurs valeurs de différents types de données. gets () obtiendra uniquement les données de chaîne de caractères.

Résumé - scanf vs obtient

scanf et gets sont des fonctions fournies par le langage de programmation C. L'utilisateur n'a pas besoin d'implémenter ces fonctions depuis le début. Ils peuvent les utiliser directement dans leurs programmes. La différence entre scanf et gets est que scanf finit de prendre une entrée après avoir rencontré un espace, une nouvelle ligne ou une fin de fichier (EOF) et obtient considère un espace comme faisant partie de la chaîne d'entrée et termine l'entrée après avoir rencontré une nouvelle ligne ou EOF. L'utilisation de scanf ou gets dépend de la manière de recevoir les entrées de l'utilisateur à partir de l'entrée standard, qui est le clavier la plupart du temps. scanf est plus flexible que ça.

Téléchargez la version PDF de scanf vs gets

Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne, conformément à la note de citation. Veuillez télécharger la version PDF ici Différence entre scanf et obtient

Référence:

1.LearningLad., 'Fonction Scanf () dans les didacticiels vidéo en langage de programmation C' YouTube, YouTube, 23 avril 2013. Disponible ici  
2.LearningLad, 'Fonction d'entrée de chaîne gets () dans le didacticiel vidéo en langage de programmation C', YouTube, YouTube, 6 mai 2013. Disponible ici