Bonjour.
Je suis en train de lire le K&R2, et je lis en parallèle des solutions proposées aux exercices du livre sur ce wiki :
http://clc-wiki.net/wiki/K%26R2_solu...r_1:Exercise_9
J'ai beau relire et bien réfléchir, il me semble que la troisième solution utilise inutilement l'opérateur ET logique.
Je veux dire la comparaison c != EOF dans la deuxième boucle me semble superflue, puisque le but est d’exécuter la boucle tant que c = ' ' et elle n'est pas exécutée avec tout autre valeur (EOF compris).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <stdio.h> int main(void) { int c; while ((c = getchar()) != EOF) { if (c == ' ') { putchar(c); while((c = getchar()) == ' ' && c != EOF) ; } if (c == EOF) break; /* the break keyword is mentioned * in the introduction... * */ putchar(c); } return 0; }
Quelque chose m'échappe ou ai je raison ?
Partager