Compter les caractères...
Ce programme fait suite au programme copy1.c, et permet de compter le nombre de caractères lus sur le canal d'entrée standard.
ComptCar.cvoid main (void)
{
nc=0;
while (getchar()!=EOF)
{
printf("%ld\n", nc);
Résultat
La séquence entrée est la suivante:
Je compte les lettres [Enter]
Ce qui provoque l'affichage suivant:
Je compte les lettres
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-
Remarques
- Nous pouvons remarquer l'opérateur de pré incrémentation dans l'expression "++nc".
Cela signifie que la valeur de la variable nc est augmentée d'une unité avant n'importe quel traitement.
L'expression "nc++" permet d'augmenter d'une unité la valeur de la variable nc après son traitement. - Comme nous travaillons avec une variable de type long, "%ld
" indique à la fonction printf que l'argument correspondant est de type long.
Compter les lignes...
ComptLign.cvoid main (void)
{
nl=0;
while ((c=getchar())!=EOF)
{
{
printf("%d\n", nl);
Résultat
La séquence entrée est la suivante:
Je[Enter]compte[Enter]les[Enter]lignes[Enter]
Ce qui provoque l'affichage suivant:
Je
1
compte
2
les
3
lignes
4
-
Attention
Si nous oublions les apostrophes qui délimitent les instructions de la condition if, cela provoque un affichage désastreux...
ComptLign.cvoid main (void)
{
nl=0;
while ((c=getchar())!=EOF)
{
++nl;
printf("%d\n", nl);
Je
0
0
1
compte
1
1
1
1
1
1
2
les
2
2
2
3
lignes
3
3
3
3
3
3
4
-
Tout compter...
Le programme suivant nous propose de compter les lignes, les mots, et les caractères.
ComptTout.c#define OUI 1
#define NON 0
void main (void)
{
mot=NON;
nl=nm,nc=0;
while ((c=getchar())!=EOF){
if (c=='\n')
{
++nm;
printf("%d lignes.\n%d mots.\n%d caracteres.\n", nl, nm, nc);
Version en cache
18/12/2024 17:09:43 Cette version de la page est en cache (à la date du 18/12/2024 17:09:43) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 02/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/c-compteur.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.