Différence entre scanf et gets en C

La différence clé entre scanf() et gets() est que scanf prend fin à la saisie d’entrée lorsque un espace, retour à la ligne ou fin d’un fichier est inséré, alors que gets considère un espace comme faisant partie de la chaîne d’entrée et termine l’entrée lorsqu’il rencontre une nouvelle ligne ou EOF.
 
 

Quelles sont les points communs 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.

 

Table de comparaison
Scanf Gets
scanf est une fonction C permettant de lire une entrée depuis l’entrée standard jusqu’à ce qu’il rencontre 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’à ce qu’il rencontre une nouvelle ligne ou un EOF. Il considère les espaces comme une partie de l’entrée.
La fonction scanf prend une chaîne de formatage et la liste des adresses des variables. par exemple. scanf(“%d”, &nbr); La fonction gets prend le nom de la variable pour stocker la valeur reçue. Par exemple. gets(var);
scanf() peut lire plusieurs valeurs de différents types de données. gets() obtiendra uniquement les données de type chaîne de caractères.

 

Conclusion

scanf et gets sont des fonctions fournies par le langage de programmation C. L’utilisateur n’a pas besoin de mettre en œuvre ces fonctions depuis le début. Ils peuvent les utiliser directement dans leurs programmes. La différence entre scanf et gets est que scanf prend fin à la saisie d’entrée lorsque un espace, retour à la ligne ou la fin d’un fichier est inséré, alors que gets considère un espace comme faisant partie de la chaîne d’entrée et termine l’entrée lorsqu’il rencontre une nouvelle ligne ou EOF.
 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *