Différence Entre Scanf Et Gets

Table des matières:

Différence Entre Scanf Et Gets
Différence Entre Scanf Et Gets

Vidéo: Différence Entre Scanf Et Gets

Vidéo: Différence Entre Scanf Et Gets
Vidéo: la Différence entre (scanf() et gets() ) | Darija | Langage C (les débutants) 2024, Mai
Anonim

Différence clé - scanf vs obtient

Une fonction est un ensemble d'instructions pour effectuer une tâche spécifique. Sans écrire toutes les instructions 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, de sorte que le programmeur peut les utiliser directement sans les implémenter dès le début. Deux de ces fonctions fournies par le langage C sont scanf et gets. Cet article décrit la différence entre ces deux fonctions. La principale différence entre scanf et gets est que scanf cesse de prendre des entrées lors de la rencontre d'un espace blanc, d'une nouvelle ligne ou d'une fin de fichier (EOF), alors que gets considère un espace comme la partie de la chaîne d'entrée et termine l'entrée lors de la rencontre d'une nouvelle ligne ou d'un EOF.

CONTENU

1. Présentation et différence clé

2. Qu'est-ce que scanf

3. Qu'est-ce que obtient

4. Similitudes entre scanf et gets

5. Comparaison côte à côte - scanf vs gets sous forme tabulaire

6. Résumé

Qu'est-ce que scanf?

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'il rencontre un espace, une nouvelle ligne ou un EOF. La syntaxe est la suivante.

scanf («chaîne de format», liste d'adresses des variables);

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

Différence entre scanf et gets
Différence entre scanf et gets

Figure 01: scanf avec une entrée

Selon le programme ci-dessus, l'entrée provenant du clavier est un entier, donc le spécificateur de format est% 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 plus d'une valeur à la fois.

Différence entre scanf et gets Figure 02
Différence entre scanf et gets Figure 02

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 à l'aide de printf.

Qu'est-ce que obtient?

La fonction gets utilise pour recevoir une entrée du clavier jusqu'à rencontrer une nouvelle ligne ou EOF. L'espace blanc est considéré comme faisant partie de l'entrée. La syntaxe de la fonction gets est la suivante.

gets («où stocker la chaîne»);

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

Reportez-vous à l'exemple ci-dessous,

Différence clé entre scanf et gets
Différence clé entre scanf et gets

Figure 03: obtient

L'entrée est reçue par la fonction gets et stockée dans la variable word1. Si le programmeur a utilisé scanf au lieu de gets et a entré une chaîne telle que «hello world», scanf lira la chaîne comme deux chaînes à cause de l'espace blanc. Mais obtient le lira comme une seule chaîne «bonjour le monde».

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 une entrée à partir de l'entrée standard.

Quelle est la différence entre scanf et gets?

Diff article au milieu avant la table

scanf vs obtient

scanf est une fonction C pour lire l'entrée à partir de l'entrée standard jusqu'à rencontrer un espace blanc, une nouvelle ligne ou EOF. gets est une fonction C pour lire l'entrée à partir de l'entrée standard jusqu'à rencontrer une nouvelle ligne ou EOF. Il considère les espaces comme une partie de l'entrée.
Syntaxe
La fonction scanf prend la chaîne de format 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);
Souplesse
scanf peut lire plusieurs valeurs de différents types de données. gets () n'obtiendra que des 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 cesse de prendre une entrée lors de la rencontre d'un espace blanc, d'une nouvelle ligne ou d'une fin de fichier (EOF) et obtient considère un espace comme la partie de la chaîne d'entrée et termine l'entrée lors de la rencontre d'une nouvelle ligne ou EOF. L'utilisation de scanf ou gets dépend de la manière de recevoir les entrées utilisateur de l'entrée standard qui est le clavier la plupart du temps. scanf est plus flexible que gets.

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 selon la note de citation. Veuillez télécharger la version PDF ici Différence entre scanf et gets

Recommandé: