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 :
Je garantis pas que le code compile, juste pour donner une idee de mon probleme.
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"); }
En gras, les lignes qui font un Bus Error.
D'ou vient ce probleme ?
Grand MERCI d'avance![]()
Partager