Salut à tous, le code suivant doit en principe faire la concaténation de deux chaines de caractères, mais c'est pas le cas. Sinon, ça compile quand même mais ça renvoi autre chose. J'arrive pas à trouver l'erreur.
merci d'avance
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39 #include <stdio.h> #include <stdlib.h> size_t stringLength(const char* str) { size_t cpt = 0; while (* str!='\0') { str++; cpt++; } return cpt; } char *concatenateString(const char *str1, const char *str2) { char *ptr; size_t s1=stringLength((str1)); size_t s2=stringLength((str2)); size_t s3=s1+s2-1; ptr=(char*)malloc(stringLength(s3)*sizeof(char)); return ptr; } int main(void) { const char *chaine1 = "Salut"; const char *chaine2 = "valli"; char *concatenation; concatenation = concatenateString(chaine1, chaine2); printf("La nouvelle chaine est %s", concatenation); return 0; }
Partager