« Exercices en langage C/Chaines » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
m Formatage, ajout de code
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 10 : Ligne 10 :
La fonction recevant un pointeur, il faut donc s'assurer qu'il est valide. On doit donc tester si le pointeur est nul ou non avant de regarder ce qui se trouve dans le tableau de caractères.
La fonction recevant un pointeur, il faut donc s'assurer qu'il est valide. On doit donc tester si le pointeur est nul ou non avant de regarder ce qui se trouve dans le tableau de caractères.


<source lang="c">
<syntaxhighlight lang="c">
#include <stdlib.h>
#include <stdlib.h>
Ligne 26 : Ligne 26 :
return n;
return n;
}
}
</syntaxhighlight>
</source>


Ici, on a choisi de retourner la valeur -1 si le pointeur est nul.
Ici, on a choisi de retourner la valeur -1 si le pointeur est nul.


La boucle de recherche de l'élément nul peut être aussi écrite avec un <code>for</code>:
La boucle de recherche de l'élément nul peut être aussi écrite avec un <code>for</code>:
<source lang="c">
<syntaxhighlight lang="c">
#include <stdlib.h>
#include <stdlib.h>


Ligne 46 : Ligne 46 :
return n;
return n;
}
}
</syntaxhighlight>
</source>


Fichier source lg.c :
Fichier source lg.c :
<source lang="C">
<syntaxhighlight lang="C">
/*
/*
Nom ....... : lg.c
Nom ....... : lg.c
Ligne 84 : Ligne 84 :
return EXIT_SUCCESS;
return EXIT_SUCCESS;
}
}
</syntaxhighlight>
</source>


Résultats d'exécution :
Résultats d'exécution :
Ligne 106 : Ligne 106 :


<div style="width:70%; float:left">{{Boîte déroulante|titre=Solution|contenu =
<div style="width:70%; float:left">{{Boîte déroulante|titre=Solution|contenu =
<source lang="c">
<syntaxhighlight lang="c">
/*
/*
Nom ...... : lgChaine.c
Nom ...... : lgChaine.c
Ligne 170 : Ligne 170 :
return codeRetour;
return codeRetour;
} // int main(...
} // int main(...
</syntaxhighlight>
</source>


'''Remarques''' :
'''Remarques''' :

Version du 16 avril 2020 à 09:41

Longueur d'une chaîne de caractères (pour manipuler)

Écrire une fonction C calculant la longueur en octets d'une chaîne de caractères, donnée en argument.

A titre d'exercice, pas utiliser la fonction strlen() du fichier d'include string.h.

Longueur d'une chaîne de caractères (par une fonction)

Écrire un programme lgChaine.c :

  • qui lit des chaines de caractères tapées au clavier (flux stdin);
  • qui calcule la longueur de chaque chaîne entrée et l'affiche ainsi que sa longueur;
  • qui s'arrête si l'utilisateur ne frappe que la touche Entrée ou si le fichier est fini (Ctrl-D tapé par l'utilisateur).

Vous utiliserez :

  • une des fonctions déclarée dans stdio.h.
  • la fonction strlen, ainsi que d'autres si nécessaire, déclarée dans string.h.