[c]tableau de chaine de caractère
Résolu
informaticienne
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
quelqu'un porrait m'aider à remplir un tableau de chaine de caractère?
en premier:un tableau contenant une seule chaine
esemple:abricot
en deux:plusieurs chaines de caractèes.
exemple:
abricot
poire
pomme
fraises
merci, j'ai vraiment besoin de votre aide.
quelqu'un porrait m'aider à remplir un tableau de chaine de caractère?
en premier:un tableau contenant une seule chaine
esemple:abricot
en deux:plusieurs chaines de caractèes.
exemple:
abricot
poire
pomme
fraises
merci, j'ai vraiment besoin de votre aide.
A voir également:
- [c]tableau de chaine de caractère
- Tableau word - Guide
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Trier un tableau excel - Guide
16 réponses
Salut,
Le plus simple est de faire un tableau de chaînes de caractères comme tu l'as di bien dit :
Cdlt
Le plus simple est de faire un tableau de chaînes de caractères comme tu l'as di bien dit :
int *tab[]={"abricot","pomme","poire"};
Cdlt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci fiddy , mais je veux que ce soit tapé par l'utilisateur.
en gros je voudrais la fonction saisie dans les deux exemples.
cdlt
en gros je voudrais la fonction saisie dans les deux exemples.
cdlt
Salut,
Voici un exemple
Voici un exemple
lami20j@debian:~/trash$ cat ccm25_tableauchaines.c #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { char **s; char mot[50]; int n,i; printf("Entrez le nombre d'éléments : "); scanf("%d",&n); s = (char **) malloc(n * sizeof(char *)); for(i=0;i<n;++i){ printf("Saisissez un mot : "); scanf("%s",mot); s[i] = malloc(strlen(mot)); strcpy(s[i],mot); } for(i=0;i<n;++i) printf("%s\n",s[i]); for(i=0;i<n;++i) free(s[i]); free(s); return 0; } lami20j@debian:~/trash$ gcc ccm25_tableauchaines.c lami20j@debian:~/trash$ ./a.out Entrez le nombre d'éléments : 4 Saisissez un mot : abricot Saisissez un mot : poire Saisissez un mot : pomme Saisissez un mot : fraises abricot poire pomme fraises
Re,
En fait il se compile mais tu ne vois rien à l'écran quand tu essaies de l'exécuter.
C'est ça?
Alors essaie celui-là
En fait il se compile mais tu ne vois rien à l'écran quand tu essaies de l'exécuter.
C'est ça?
Alors essaie celui-là
#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { char **s; char mot[50]; int n,i; printf("Entrez le nombre d'éléments : "); scanf("%d",&n); s = (char **) malloc(n * sizeof(char *)); for(i=0;i<n;++i){ printf("Saisissez un mot : "); scanf("%s",mot); s[i] = malloc(strlen(mot)); strcpy(s[i],mot); } getchar(); for(i=0;i<n;++i) printf("%s\n",s[i]); for(i=0;i<n;++i) free(s[i]); free(s); puts("Appuyez sur une touche pour quitter ..."); getchar(); return 0; }
Salut,
Je sais pas la solution que tu as adoptée, mais si tu fais un malloc et que tu utilises strlen, il ne faut pas oublier "+1" pour le '\0'.
Cdlt
Je sais pas la solution que tu as adoptée, mais si tu fais un malloc et que tu utilises strlen, il ne faut pas oublier "+1" pour le '\0'.
s[i] =malloc(strlen(mot)+1);
Cdlt