J'apprends juste C, donc je suis en utilisant le code beaucoup plus basique. Je suis en train de lire le premier chapitre de "Le langage de programmation C", et j'essayais de trouver la réponse à une tâche définie ici.
C'est ce que je suis venu avec:
#include <stdio.h>
int main()
{
/* Set two integers:
c is the character being assessed,
lastspace is 1 if the lastcharacter was a space*/
int c, lastspace;
lastspace = 0;
/* This while loop will exit if the character is EOF
The first "If block" is true if the character is not a space,
and just prints the character
It also tells us that the lastcharacter was not a space
The else block will run if the character is a space
Then the second IF block will run if the last character
was not also a space (and will print just one space) */
while((c = getchar()) != EOF){
if (c != ' '){
putchar(c);
lastspace = 0;
}
else {
if (lastspace != 1)
putchar(c);
lastspace = 1;
}
}
return 0;
}
Hope that helps! Aussi, je suis bien conscient que ce code n'est peut-être pas optimisé, mais il devrait être simple pour un débutant comme moi de le comprendre!
Merci, Phil
Montrez ce que vous avez essayé jusqu'à présent. –
Qu'avez-vous fait jusqu'ici pour essayer de résoudre ce problème? –
je pensais à une fonction qui peut réduire les multispaces, mais cela ne fonctionne pas, peut-être pour le problème de récurrence –