bonjour,
j'ai fais un petit code dans le but de tester plusieurs facons de lier deux chaines mais je voulais savoir comment resoudre le problème de l'espace.
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
40
41
42
43 #include <stdio.h> #include <string.h> /************************************************************************/ /* EXERCICE 3: Ecrireune fonction qui à deux chaines en parametre et qui*/ /* et qui recopie la seconde à la fin de la première; cette fonction */ /* retourne la première. */ /************************************************************************/ char *cetteConcatenation(char *destination, char *source){ int i, j; i = j = 0; while(destination[i] != '\0') /* va à la fin de destination */ i++; while((destination[i++] = source[j++]) != '\0');/* copie source */ return destination; } /*version sans string.h */ char *cetteConcatenation2(char *destination, char *source){ return strcat(destination, source); } /* version avec string.h */ /************************************************************************/ /* PROGRAMME DE TEST */ /************************************************************************/ int main(void){ char chaine1[100]; char chaine2[100]; /* debut test exercice 3 */ puts("EXERCICE 3"); printf("entrez une Chaine 1 :\n"); scanf("%s",chaine1); printf("entrez une Chaine 2:\n"); scanf("%s",chaine2); printf("Concatenation :%s\n", cetteConcatenation(chaine1, chaine2)); printf("entrez une Chaine 1 :\n"); scanf("%s",chaine1); printf("entrez une Chaine 2:\n"); scanf("%s",chaine2); printf("Concatenation :%s\n", cetteConcatenation2(chaine1, chaine2)); return 0; }
Partager