[debutant] getchar et les boucles en c
Résolu/Fermé
elmadina
Messages postés
33
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
30 juin 2008
-
10 avril 2008 à 21:42
elmadina Messages postés 33 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 30 juin 2008 - 11 avril 2008 à 06:56
elmadina Messages postés 33 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 30 juin 2008 - 11 avril 2008 à 06:56
A voir également:
- [debutant] getchar et les boucles en c
- Logiciel de programmation pour débutant - Guide
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Problème xiaomi redmi note 8t s'allume et s'éteint vibre - Forum Xiaomi
- Huawei s'allume et s'éteint en boucle - Forum Huawei
3 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
10 avril 2008 à 22:20
10 avril 2008 à 22:20
Salut,
si je ne me trompe pas il s'agit de livre du Kernighan & Ritchie (K&R)
le code est correct est il est conçu pour lire dépuis l'entrée standard
Sous linux il fonctionne sans problème
si je ne me trompe pas il s'agit de livre du Kernighan & Ritchie (K&R)
le code est correct est il est conçu pour lire dépuis l'entrée standard
Sous linux il fonctionne sans problème
lami20j@debian:~/trash$ cat ccm.c #include <stdio.h> #define IN 1 /* inside a word */ #define OUT 0 /* outside a word */ /* count lines, words, and characters in input */ main() { int c, nl, nw, nc, state; state = OUT; nl = nw = nc = 0; while ((c = getchar()) != EOF) { ++nc; if (c == '\n') ++nl; if (c == ' ' || c == '\n' || c == '\t') state = OUT; else if (state == OUT) { state = IN; ++nw; } } printf("%d %d %d\n", nl, nw, nc); } lami20j@debian:~/trash$ gcc ccm.c lami20j@debian:~/trash$ ./a.out voici un test pour ton code 2 6 28 lami20j@debian:~/trash$
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
10 avril 2008 à 22:40
10 avril 2008 à 22:40
Avec la combinaison de touches Ctrl+D
elmadina
Messages postés
33
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
30 juin 2008
11 avril 2008 à 06:52
11 avril 2008 à 06:52
oui ça marche maintenant
avant quand je click sur ctl+D il m'affiche un caractère arabe
j'ai supprimé l'arabe du clavier et ça a marché
merci
avant quand je click sur ctl+D il m'affiche un caractère arabe
j'ai supprimé l'arabe du clavier et ça a marché
merci
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
10 avril 2008 à 22:12
10 avril 2008 à 22:12
Salut,
EOF pour End Of File est utilisé pour les fichiers, pour savoir quand on est arrivé au bout. Il corresponds au caractère Ctrl + D.
Le problème c'est que quand on tape Ctrl + D, ça interrompt le programme.
Essaie plutôt d'utiliser EOL pour End Of Line, comme ça dés que tu tapes sur entrée ta boucle est finie.
EOF pour End Of File est utilisé pour les fichiers, pour savoir quand on est arrivé au bout. Il corresponds au caractère Ctrl + D.
Le problème c'est que quand on tape Ctrl + D, ça interrompt le programme.
Essaie plutôt d'utiliser EOL pour End Of Line, comme ça dés que tu tapes sur entrée ta boucle est finie.
elmadina
Messages postés
33
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
30 juin 2008
10 avril 2008 à 22:39
10 avril 2008 à 22:39
merci
mais le programme ne se compile pas avec EOL
il affiche
count.c: In function «main":
count.c:10: erreur: «EOL" undeclared (first use in this function)
count.c:10: erreur: (Each undeclared identifier is reported only once
count.c:10: erreur: for each function it appears in.)
merci encore
mais le programme ne se compile pas avec EOL
il affiche
count.c: In function «main":
count.c:10: erreur: «EOL" undeclared (first use in this function)
count.c:10: erreur: (Each undeclared identifier is reported only once
count.c:10: erreur: for each function it appears in.)
merci encore
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
>
elmadina
Messages postés
33
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
30 juin 2008
10 avril 2008 à 22:45
10 avril 2008 à 22:45
Prends '\n' alors.
elmadina
Messages postés
33
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
30 juin 2008
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
11 avril 2008 à 06:56
11 avril 2008 à 06:56
merci beaucoup
oui ça marche mais je ne pourait pas compter les lignes
merci encore
oui ça marche mais je ne pourait pas compter les lignes
merci encore
10 avril 2008 à 22:34
oui le livre est
The C programming Language
By Brian W. Kernighan and Dennis M. Ritchie.
mais comment tu as sortie du programme vous avez taper sur quoi
et merci