Maison  >  Article  >  développement back-end  >  Différence entre scanf() et gets() en C

Différence entre scanf() et gets() en C

青灯夜游
青灯夜游original
2019-02-11 17:47:304629parcourir

En langage C, scanf() et gets() sont tous deux utilisés pour lire l'entrée à partir de l'entrée standard (clavier), alors quelles sont les différences entre eux ? Cet article comparera brièvement scanf() et gets() et présentera les différences entre scanf() et gets(). J'espère qu'il vous sera utile. [Recommandation de tutoriel vidéo : Tutoriel langage C]

Différence entre scanf() et gets() en C

Fonction scanf()

La fonction scanf() est utilisée pour lire les données (caractères, chaînes, nombres) saisies à partir du clavier ; elle arrêtera de lire les données lorsqu'elle rencontrera un espace, un caractère de nouvelle ligne ou une fin de fichier (EOF).

Exemple de code :

#include <stdio.h> 
int main() 
{ 
    char str[20]; 
    printf("请输入:\n"); 
    scanf("%s", str); 
    printf("输出: %s\n", str); 
  
    return 0; 
}

Sortie :

Différence entre scanf() et gets() en C

fonction gets()

La fonction gets() est également utilisée pour lire les données saisies à partir du clavier et obtenir des chaînes. Arrêtera de lire les données lorsqu'il rencontrera un caractère de nouvelle ligne ou une fin de fichier (EOF).

Exemple de code :

#include <stdio.h> 
int main() 
{ 
    char str[20]; 
    printf("请输入:\n"); 
    gets(str);
    printf("输出: %s\n", str); 
  
    return 0; 
}

Sortie :

Différence entre scanf() et gets() en C

Entre scanf() et gets() Le différence

1. Lorsque la fonction scanf() lit l'entrée, elle arrêtera la lecture lorsqu'elle rencontrera un espace, un caractère de nouvelle ligne ou la fin du fichier. Cependant, lors de la lecture d'une entrée, la fonction gets() arrêtera la lecture lorsqu'elle rencontrera un caractère de nouvelle ligne ou la fin du fichier, elle traitera un espace comme un caractère dans la chaîne, elle n'arrêtera donc pas la lecture lorsqu'elle rencontrera un espace ; . entrer.

2. La fonction scanf() est utilisée pour lire plusieurs valeurs de différents types de données ; tandis que la fonction gets() ne peut obtenir que des données de chaîne.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

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