Keine Cache-Version

Caching deaktiviert Standardeinstellung für diese Seite:aktiviert (code LNG204)
Wenn die Anzeige zu langsam ist, können Sie den Benutzermodus deaktivieren, um die zwischengespeicherte Version anzuzeigen.

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.c
#include <stdio.h>

void main (void)
{
long nc; /*nbre de caracteres*/
nc=0;
while (getchar()!=EOF)
{
++nc;
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.c
#include <stdio.h>

void main (void)
{
int c, nl;
nl=0;
while ((c=getchar())!=EOF)
{
if (c=='\n')
{
++nl;
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.c
#include <stdio.h>

void main (void)
{
int c, nl;
nl=0;
while ((c=getchar())!=EOF)
{
if (c=='\n')
++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
#include <stdio.h>

#define OUI 1
#define NON 0

void main (void)
{
int c, nl,nm,nc,mot;
mot=NON;
nl=nm,nc=0;
while ((c=getchar())!=EOF){
++nc;
if (c=='\n')
++nl;
if (c==' '||c=='\n'||c=='\t')
mot=NON;
else if (mot==NON)
{
mot=OUI;
++nm;
}
}
printf("%d lignes.\n%d mots.\n%d caracteres.\n", nl, nm, nc);
}

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 02/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/c-compteur.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.