déjà :
11*222222222222 = 2444444444442
tu trouves :
11*222222222222 = 244444444442010
Donc ton résultat est faux, même si on suppose qu'il est suivit par des chiffres non désirés : il manque un 4.
D'autre part, au moment où tu l'affiches, il n'y a PAS de caractère nul à la place du 0.
Donc, soit tu ne l'as jamais mis, soit tu l'écrases par la suite.
C'est très facile à voir : il te suffit d'avancer pas par pas avec un debugger en regardant à quel moment il change.
-----




.
. Je ne sais pas si ce sont des tableau à taille variable , mais l'idée c'est c'était de faire des pointeurs vers des tableau pour pouvoir renvoyer un tableau depuis les fonctions , et de choisir leur taille lors de leur allocation .
) : il faut remplacer , si c'est pas déja fait , dans addition.c : le malloc par (char*)malloc... . /!\
.