bonjour,

dans l'un de mes projets en C , j'ai besoin de créer de nouveaux mots ( chaine de caractères) en concaténant un mot ancien avec une lettre d'un alphabet ( tableau de caractère).

pour cela j'ai stocké les lettres possibles pour la concaténation dans un tableau de caractères, et j'ai essayé de concaténer un mot ancien avec une case de ce tableau afin de créer un nouveau mot.
et voilà comment j'ai fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
char nouveau_mot[5];
char mot[2];
strcpy(nouveau_mot," ");
strcpy(mot,"aa");
char alphabet[4]={'a','c','t','g'};
int i;
for(i=0;i<4;i++){
     strcpy(nouveau_mot,mot);
     strcat(nouveau_mot,alphabet[i]);
}
Je n'ai pas d'erreur de compilation mais un joli warning qui me prévient que dans l'appel de strcat le second argument produit un pointeur à partir d'un integer sans cast. et par conséquent j'ai un "segmentation fault" à l'exécution

comment est ce que je peux faire pour utiliser mon tableau alphabet et ainsi créer correctement mes mots ?

Merci d'avance