j'ai 1 petit programme en C. Si je rentre "1234" et puis il s'affiche "1234".
Mais, si je veux mettre des espaces dans ma chaine de "caractères". par exemple, je tape "123 45". il devrait s'afficher "123 45".
Pouvez vous m'aider à résoudre ça ? merci
Code:typedef struct el*pel; typedef struct el{ int v; pel suivant; }tel; pel creeElem (int val){ pel aux = (pel) malloc (sizeof(tel)); aux -> v = val; aux -> suivant = NULL; return aux; } pel empiler (pel p, int val){ pel aux = creeElem(val); aux -> suivant = p; p =aux; return p; } pel depiler (pel p, int *pv){ pel aux = p; if (p == NULL){ printf( "pile deja vide\n"); exit(1); } else{ p = p -> suivant; *pv = aux -> v; free(aux); return p; } } int calcul (pel p){ int v,s,coef; s = 0; coef = 1; while (p!=NULL ){ p = depiler(p,&v); s = s+v*coef; coef = coef*10; } return s; } pel analyse (char *t){ int i; pel p = NULL; i = 0; while (t[i] != '\0'){ switch (t[i]){ case '0': p = empiler(p,0); break; case '1': p = empiler(p,1); break; case '2': p = empiler(p,2); break; case '3': p = empiler(p,3); break; case '4': p = empiler(p,4); break; case '5': p = empiler(p,5); break; case '6': p = empiler(p,6); break; case '7': p = empiler(p,7); break; case '8': p = empiler(p,8); break; case '9': p = empiler(p,9); break; default : printf("Erreur !\n"); exit(1); } i++; } return p; } int main (){ pel p; char t[100]; printf("chaine ?\n"); gets (t); p = analyse(t); printf("entrez :%i\n", calcul(p)); }
-----