Comment travailler avec des tableaux vides omble dans la programmation de c

Tout comme vous pouvez déclarer un vide ou non initialisée, le flotteur ou int tableau, vous pouvez créer un tableau de caractères vide avec programmation C. Vous devez être précis, cependant: La taille du tableau doit être 1 supérieure à la longueur maximale de la chaîne pour tenir compte de ce caractère NULL. Aussi, vous devez vous assurer que tout ce que l'entrée remplit le tableau ne doit pas excéder la taille du tableau.

En comblant un Char Tableau, le tableau de caractères prénom à la ligne 5 peut contenir 15 caractères, plus 1 pour le 0 à la fin de la chaîne. Cette limitation de 15 caractères est une hypothèse faite par le Programmeur plus prénoms sont moins de 15 caractères de long.

Remplissage d'un CHAR RÉSEAU

#include int main () {char prénom [16] -printf ("Quel est votre nom?") -fgets (prénom, 16, stdin) -printf («Ravi de vous rencontrer,% s n", prénom) - retourner (0) -}

Une fonction fgets () à la ligne 8 se lit dans les données de la chaîne de prénom. La taille maximale d'entrée est fixé à 16 caractères, qui représente déjà le caractère nul parce que fgets () est intelligent de cette façon. Le texte est lu depuis stdin, ou l'entrée standard.




Exercice 1: Créez un nouveau projet en utilisant le code source à partir d'un remplissage Char Array. Construire et exécuter, en utilisant votre prénom comme entrée.

Essayez d'exécuter à nouveau le programme, mais remplir la mémoire tampon: Tapez plus de 15 caractères. Vous verrez que seuls les 15 premiers caractères sont stockées dans le tableau. Même la presse la touche Entrée est pas stocké, où il en serait autrement si l'entrée est moins de 15 caractères.

Exercice 2: Modifier votre code source à partir Exercice 4 afin que le programme demande également votre nom, stocker les données dans un autre tableau. Le programme devrait alors vous saluer en utilisant vos deux noms et prénoms.

Oui, la presse Entrez clé est stockée dans le cadre de votre nom, ce qui est la façon dont l'entrée est lu par les fgets de fonction (). Si votre prénom est Dan, le tableau ressemble à ceci:

Prénom [0] == 'D'prénom [1] ==' a'firstname [2] == 'n'firstname [3] ==' n'firstname [4] == ' 0'

Voilà parce entrée dans C est orienté flux et entrez fait partie du flux d'entrée dans la mesure où les fgets function () est concerné. Vous pouvez résoudre ce problème en obéissant Exercice 6.

Exercice 3: Ressaisissez votre code source à partir Exercice 5 sorte que la fonction scanf () est utilisée pour lire dans les premières et les dernières chaînes de nom.

Bien sûr, le problème avec la fonction scanf () est qu'il ne vérifie pas pour assurer que l'entrée est limité à 15 caractères - qui est, à moins que vous dirigez à le faire:

Exercice 4: Modifiez le scanf () fonctions dans votre code source à partir de l'exercice 6 de sorte que le caractère de conversion utilisé est écrit en% 15s. Construire et exécuter.

Le caractère de conversion% 15s indique à la fonction première scanf () pour lire seulement les 15 premiers caractères d'entrée et de le placer dans le tableau de caractères (string). Tout texte supplémentaire est ensuite lu par la deuxième fonction scanf (), et tout texte supplémentaire après que est jeté.


» » » » Comment travailler avec des tableaux vides omble dans la programmation de c