Bonjour,

Etudiant en info, je travaille sur une fonction qui doit inverser deux a deux les caracteres d'une chaine, a savoir la premiere lettre avec la derniere, la seconde avec l'avant derniere, etc ...

Probleme : Ayant retourne le probleme dans TOUS les sens, je prends des "Bus error" sur 'Bus error". Parfois il m'est peut-etre arrive de prendre un ou deux segfault, dans l'idee je suis bloque donc je me permets de faire appel a votre aide

Voici le code qui Bus error :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void my_putchar(char c)
{
write(1, &c, 1);
}

char  *my_evil_string(char *str)
{
int tabSize = my_strlen(str);
int nbInversions = tabSize / 2;
int count = 0;
char adresseTmp;
while(count < nbInversions)
{
adresseTmp = str[count];
str[count] = str[tabSize - count - 1];
str[tabSize - count - 1 = adresseTmp];
count++;
}
}

void main(0)
{
my_evil_str("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
}
Je garantis pas que le code compile, juste pour donner une idee de mon probleme.

En gras, les lignes qui font un Bus Error.

D'ou vient ce probleme ?

Grand MERCI d'avance