[C] boucle

johan -  
dje-dje Messages postés 10417 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour , j'ai cette boucle :

while ( ( c = getchar() ) != EOF )

{



if ( c == ' ' )

putchar(b);


}


avec le for j'ai écrit çà mais çà ne marche pas...



for ( c = getchar() != EOF; c == ' ' )

quelqu'un a une idée de l'équivalent avec for ?
merci

21 réponses

dje-dje Messages postés 10417 Date d'inscription   Statut Modérateur Dernière intervention   758
 
Le code de marden fonctionne t-il?

L'utilisation de la variable est inutile dans le peu de code que tu nous montres: on ne va utiliser qu'une fois la valeur de la variable.(Donc autant le faire explicitement comme Marden le fait)

Dans ton dernier exemple je ferai plutot comme Marden:
for ( c = getchar() ; c != EOF ; c = getchar() ) {
if ( c == ' ' ) c='_' ;
putchar (c)
}

Ton code est correct mais un peu plus long:
for ( c = getchar() ; c != EOF ; c = getchar() ) {
if ( c == ' ' ) putchar(b) ;
else if ( c != ' ' ) putchar (c);
}

Si C est ' ' alors putchar(b)
Si C est different de ' ' alors putchar(C) //ici tu test la valeur de C alors qu'il n'y a que 2 cas et que tu viens de tester le premier

Le code de Marden donne plutot:
Si C est ' ' alors C = '_' (Si on est pas dans le cas interessant on modifie C)
Puis putchar(C) (Quoi qu'il arrive j'insere C)

a+
dje-dje
0