Bonjour,
voila un code que j'ai trouvé mais dont je ne comprend pas trop la manière dont il s'exécute :
Code :
- void DelSpace(char *source, char *dest)
- {
- char i,flag=1,p=0;
- for (i=0 ; i < strlen(source); i++) {
- if (source[i] != ' ' && source[i] != '\t') flag = 0;
- if (flag == 0) { dest[p] = source[i]; p++; }
- if (source[i] == ' ' || source[i] == '\t') flag = 1;
- }
- dest[p]='\0';
- }
|
Je l'ai amélioré un peu ... le problème c'est que ce n'est pas clair qu'il va laisser maximum un seul espace, on a l'impression qu'il va supprimer tous les espaces, j'ai reécrit le code sous cette forme, pensant que ça ferait la même chose :
Code :
- for (i=0 ; i < strlen(source); i++)
- {
- if (source[i] != ' ' && source[i] != '\t')
- { dest[p] = source[i]; p++; }
- }
|
Mais ce n'était pas ça, le mien supprimait tous les espaces, pourriez vous m'aider à mieux comprendre ce bout de code ? j'ai beau essayé de faire des shémas sur papier, mais le résultat que j'attendais était celui de mon deuxième code.
Merci d'avance !