C | Entrée et sortie | question 8

Afficher la discussion

Améliorer l’article

Enregistrer l’article

J’aime l’article

Afficher la discussion

Améliorer l’article

Enregistrer l’article

J’aime l’article

Lequel des énoncés suivants est vrai
(UN) gets() n’effectue aucun test lié au tableau et ne doit pas être utilisé.
(B) fgets() doit être utilisé à la place de gets() uniquement pour les fichiers, sinon gets() convient
(C) gets() ne peut pas lire les chaînes avec des espaces
(RÉ) Aucune de ces réponses

Réponse: (UN)
Explication: L’utilisation de gets() génère le risque d’un débordement du buffer alloué. Cela se produit parce que la fonction gets(), ne connaît pas la taille du tampon et continue la lecture jusqu’à ce qu’elle trouve une nouvelle ligne “\n” ou rencontre EOF, et ainsi elle peut dépasser les limites du tampon qui lui a été donné.

Voir gets() est risqué à utiliser !
Quiz de cette question

Laisser un commentaire

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