la fonction obtenir une sentnce et doit remplacer entre les «n» premiers mots. quand il s'agit de la première realloc l'arrêt du programme et l'erreur affichée. J'essaie beaucoup de combinaison de phrases, la nouvelle memmory que je demande est plus grande que la mémoire existe.Erreur lors de realloc dans c (exception trown (ucrtbased.dll))
ma fonction:
void Reverse(char **sentence, int n)
{
int m;
char *temp;
for (m = 0; m < n; m++, n--)
{
temp = (char*)malloc(strlen(sentence[m]) * sizeof(char));
temp = sentence[m];
sentence[m] = (char*)realloc(sentence[m], strlen(sentence[n]) * sizeof(char));
sentence[m] = sentence[n];
sentence[n] = (char*)realloc(sentence[n], strlen(temp) * sizeof(char));
sentence[n] = temp;
free(temp);
printf("%s ", sentence[m]);
}
}
Quelle erreur avez-vous trouvé? –
Sauf si vous savez vraiment ce que vous faites, allouer juste assez d'espace avec 'strlen (x)' est trop court. – usr2564301