Fonctions paramètre char *
Résolu/Fermé
Mr_Hooligan
Messages postés
15
Date d'inscription
dimanche 8 novembre 2009
Statut
Membre
Dernière intervention
20 novembre 2009
-
8 nov. 2009 à 13:58
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 11 nov. 2009 à 22:50
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 11 nov. 2009 à 22:50
A voir également:
- Écrire une fonction qui affiche le caractère passé en paramètre
- Caractère ascii - Guide
- Fonction si et - Guide
- Caractere speciaux - Guide
- Ecrire en gras sur whatsapp - Guide
- Caractères spéciaux : comment taper des |—[©\½→}… - Guide
7 réponses
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
8 nov. 2009 à 14:27
8 nov. 2009 à 14:27
char *chaine1, *chaine2;
scanf ("%s",chaine1);
Je ne vais pas plus loin dans le code car je sais déjà que le programme va probablement se terminer par un 'segment fault'.
Je te laisse trouver cette grosse bêtise; rassure-toi tu n'es pas la premier à la faire et cette erreur est la bête noire de beaucoup de mauvais programmeur qui prennent le 'C' pour du Basic et qui, par la suite, vont évidemment dénigrer ce langage ;-)
Bonne réflexion.
scanf ("%s",chaine1);
Je ne vais pas plus loin dans le code car je sais déjà que le programme va probablement se terminer par un 'segment fault'.
Je te laisse trouver cette grosse bêtise; rassure-toi tu n'es pas la premier à la faire et cette erreur est la bête noire de beaucoup de mauvais programmeur qui prennent le 'C' pour du Basic et qui, par la suite, vont évidemment dénigrer ce langage ;-)
Bonne réflexion.
Mr_Hooligan
Messages postés
15
Date d'inscription
dimanche 8 novembre 2009
Statut
Membre
Dernière intervention
20 novembre 2009
8 nov. 2009 à 14:34
8 nov. 2009 à 14:34
Ce code là fonctionne très bien.
Je sais pas si tu parle du " & " qui manquerait, il n'y en a pas besoin.
Je sais pas si tu parle du " & " qui manquerait, il n'y en a pas besoin.
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
8 nov. 2009 à 16:41
8 nov. 2009 à 16:41
tu crées un pointeur.
Mais il ne pointe sur rien du tout de valable a priori et malgré cela tu essayes de changer la valeur de ce vers quoi il pointe
Mais il ne pointe sur rien du tout de valable a priori et malgré cela tu essayes de changer la valeur de ce vers quoi il pointe
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
>
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
8 nov. 2009 à 16:43
8 nov. 2009 à 16:43
pour être plus clair : les chaines sont des pointeurs vers le début d'un tableau de char se terminant par le caractère \0 . Je vois bien le pointeur dans ton programme, mais où est le tableau ? :)
Mr_Hooligan
Messages postés
15
Date d'inscription
dimanche 8 novembre 2009
Statut
Membre
Dernière intervention
20 novembre 2009
8 nov. 2009 à 23:20
8 nov. 2009 à 23:20
char *chaine; ou char chaine[25]; sa change rien dans le code ( j'ai les deux versions et exactement le même problème )
je crois savoir d'où vient le problème, faut que je test mais c'est pas pour aujourd'hui.
je crois savoir d'où vient le problème, faut que je test mais c'est pas pour aujourd'hui.
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
9 nov. 2009 à 02:21
9 nov. 2009 à 02:21
Char *chaine; ou char chaine[25]; sa change rien
Ah bon puisque tu le dis ... ;-)
Ah bon puisque tu le dis ... ;-)
Mr_Hooligan
Messages postés
15
Date d'inscription
dimanche 8 novembre 2009
Statut
Membre
Dernière intervention
20 novembre 2009
>
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
9 nov. 2009 à 08:56
9 nov. 2009 à 08:56
Au lieu de mettre des réponses comme sa, un peu d'aide serait le bienvenue.
Je sais bien que c'est pas la même chose, mais que j'emploie l'un ou l'autre dans le code sa ne change rien aux résultat.
Est ce qu'utiliser le malloc changerait quelque chose ?
Si possible d'avoir un coup de main plutôt que des remarques à la c..
Merci d'avance.
Je sais bien que c'est pas la même chose, mais que j'emploie l'un ou l'autre dans le code sa ne change rien aux résultat.
Est ce qu'utiliser le malloc changerait quelque chose ?
char *chaine; chaine = (char *)malloc (25*sizeof(char));
Si possible d'avoir un coup de main plutôt que des remarques à la c..
Merci d'avance.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
>
Mr_Hooligan
Messages postés
15
Date d'inscription
dimanche 8 novembre 2009
Statut
Membre
Dernière intervention
20 novembre 2009
9 nov. 2009 à 10:14
9 nov. 2009 à 10:14
Exact, il faut utiliser malloc pour chaque pointeur que tu utilises.
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
>
Mr_Hooligan
Messages postés
15
Date d'inscription
dimanche 8 novembre 2009
Statut
Membre
Dernière intervention
20 novembre 2009
9 nov. 2009 à 22:01
9 nov. 2009 à 22:01
par contre il n'y a pas besoin de "caster" avec (char *) ton pointeur crée avec malloc. voir https://c.developpez.com/faq/?page=Bonnes-pratiques#DIVERS_malloc
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
>
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
10 nov. 2009 à 08:12
10 nov. 2009 à 08:12
marrant quand je pense le nombre d'exemples immense que j'ai vu avec ce cast.
On peut tout de même lui trouver un intéret : rappeler le type de la variable lorsque l'allocation n'est pas faite à la déclaration.
On peut tout de même lui trouver un intéret : rappeler le type de la variable lorsque l'allocation n'est pas faite à la déclaration.
Mr_Hooligan
Messages postés
15
Date d'inscription
dimanche 8 novembre 2009
Statut
Membre
Dernière intervention
20 novembre 2009
9 nov. 2009 à 10:24
9 nov. 2009 à 10:24
Ok merci Char Snipeur, je vais essayer tout de suite.
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
9 nov. 2009 à 21:24
9 nov. 2009 à 21:24
un pointeur est comme un panneau qui pointe vers une ville.
Lorsque tu déclares habituellement un tableau int tableau[25] par exemple, c'est vrai que "tableau" est considéré comme un "int *". Le nom du tableau est en effet un pointeur vers le début, un panneau vers le début du tableau en mémoire. Mais le C fabrique bien le tableau. Par contre si tu ne déclares que le pointeur, que le panneau, et bien il n'y a pas de ville vers laquelle il pointe.
Je ne sais pas si mon image était foireuse... ça t'aide à comprendre ?
Lorsque tu déclares habituellement un tableau int tableau[25] par exemple, c'est vrai que "tableau" est considéré comme un "int *". Le nom du tableau est en effet un pointeur vers le début, un panneau vers le début du tableau en mémoire. Mais le C fabrique bien le tableau. Par contre si tu ne déclares que le pointeur, que le panneau, et bien il n'y a pas de ville vers laquelle il pointe.
Je ne sais pas si mon image était foireuse... ça t'aide à comprendre ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sousou01_girls
Messages postés
4
Date d'inscription
mercredi 11 novembre 2009
Statut
Membre
Dernière intervention
11 novembre 2009
11 nov. 2009 à 22:25
11 nov. 2009 à 22:25
Bonjour,
je suis en 1 ere année developpement informatique je trouve quelques difficultés dans cest exercice d'algorithme si vous pouvez m'aider je serai contente
le but de l'exerice est de lire un verbe du 1er groupe dans le tableau verbe et d'afficher sa conjugaison au present de l'indicatif exemple verbe bosser je bosse ;tu bosse.........
on s'assurera que le verbe fourni se termine bien par 'er' on supposera qu'il s'agit d'un verbe régulier autrement dit on admettra que l'utilisateur ne fournira pas un verbe tel que manger (le programme affichera alors nous mangeons)
la questiion !!:ecrire les procédures et fonctions suivantes:
la procédure LECTURE VERBE pour ranger un verbe ds un tableau de taille maximale 20 la saise se termine par un point
la fonction VERIFIER VERBE pour verifier que le verbe saisi au clavier se termine bien par ER
poir conjuguer un verbe on utilise un tableau RESULTAT à deux dimensions
merci bien comme meme
je suis en 1 ere année developpement informatique je trouve quelques difficultés dans cest exercice d'algorithme si vous pouvez m'aider je serai contente
le but de l'exerice est de lire un verbe du 1er groupe dans le tableau verbe et d'afficher sa conjugaison au present de l'indicatif exemple verbe bosser je bosse ;tu bosse.........
on s'assurera que le verbe fourni se termine bien par 'er' on supposera qu'il s'agit d'un verbe régulier autrement dit on admettra que l'utilisateur ne fournira pas un verbe tel que manger (le programme affichera alors nous mangeons)
la questiion !!:ecrire les procédures et fonctions suivantes:
la procédure LECTURE VERBE pour ranger un verbe ds un tableau de taille maximale 20 la saise se termine par un point
la fonction VERIFIER VERBE pour verifier que le verbe saisi au clavier se termine bien par ER
poir conjuguer un verbe on utilise un tableau RESULTAT à deux dimensions
merci bien comme meme
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
11 nov. 2009 à 22:50
11 nov. 2009 à 22:50
Demander de l'aide pour vos exercices sur CCM
De plus, il vous faut poster un nouveau sujet, pas répondre à un autre qui n'a pas grand chose à voir.
De plus, il vous faut poster un nouveau sujet, pas répondre à un autre qui n'a pas grand chose à voir.
adnanforum
Messages postés
204
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2010
38
11 nov. 2009 à 22:30
11 nov. 2009 à 22:30
c'est facil comme c'est acil on va leur sortir le fameut SDZ pour qu'il bavard.lol
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
11 nov. 2009 à 22:50
11 nov. 2009 à 22:50
merci d'éviter ce genre de messages inutiles voire insultants. Charte d'utilisation de CommentCaMarche.net - Respect d'autrui