J'essaie d'inverser les lettres pour les mots dans une phrase. J'essaie également de stocker ces mots dans un nouveau tableau char. En ce moment je reçois une erreur d'exécution, que je ne peux pas résoudre pour tous mes réglages. Mon approche est de créer un nouveau tableau de caractères de la même longueur que la phrase. Puis bouclez la phrase jusqu'à ce que j'atteigne un caractère. Puis bouclez en arrière et ajoutez ces caractères à un mot. Puis ajoutez le mot à la nouvelle phrase. Toute aide serait très appréciée.Inverser les mots en langage C
int main(void) {
char sentence [] = "this is a sentence";
char *newSentence = malloc(strlen(sentence)+1);
int i,j,start;
start = 0;
for(i = 0; i <= strlen(sentence); i++)
{
if(sentence[i] == ' ')
{
char *word = malloc((i - start)+1);
for(j = sentence[i]; j >= start; j--)
{
word[j] = sentence[j];
}
strcat(newSentence,word);
start =sentence[i +1];
}
}
printf("%s",newSentence);
return 0;
}
quel est votre erreur? –
vous n'avez pas terminé le mot – pm100
@pm 100, Pouvez-vous expliquer ce que vous voulez dire? – Calgar99