Programme qui plante!!

Résolu/Fermé
YangC Messages postés 3 Date d'inscription mercredi 30 juin 2010 Statut Membre Dernière intervention 8 juillet 2011 - 30 juin 2010 à 15:45
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 30 juin 2010 à 18:28
Bonjour,
svp jai pourriez vous m'aider jai un fé un simple petit programme sur les structures
le voila:
#include<stdio.h>
#include<stdlib.h>
typedef struct personne personne;
struct personne
{
char nom[100];
char prenom[100];

};
main()
{
personne joueur[2];
int i;
for(i=1;i<=2;i++)
{
printf("le joueur numero %d\n",i);
printf("quel est votre nom?");
scanf("%s",joueur[i].nom);
printf("quel est votre prenom?");
scanf("%s",joueur[i].prenom);

}
return 0;
}
mais je sé po pk ca plante apres la compliation;je narrive po a detecter l'erreur

1 réponse

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
Modifié par Nabla's le 30/06/2010 à 15:51
personne joueur[2];   
int i;   
for(i=1;i<=2;i++) 


on est pas en basic, ni en pascal, ni en progress...

un tableau de 2 cases va de 0 à 1... (la première case est toujours 0, jamais 1)

je pence que ce code est plus juste:

personne joueur[2];
int i;
for(i=0;i<2;i++)

tu as fait ce qu'on appelle un buffer overflow.. c'est comme si quand t'écrivais tes cours de maths, tu continuais d'écrire sur le bureau ..... ou sur la feuille du cours de francais ! ca fout la pagaille
2
YangC Messages postés 3 Date d'inscription mercredi 30 juin 2010 Statut Membre Dernière intervention 8 juillet 2011
30 juin 2010 à 18:25
ahh!!merciiii enormément pour votre aidee.
je ne suis que débutante en programmation c'est pk je commet encore ces erreurs
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
30 juin 2010 à 18:28
C'est pas grave, t'es là pour apprendre ;)

Comem je le disais, ce truc là est une phylosophie: dans en C / C++ on commence par 0, d'autres ont décidé de commencer par 1, comme quoi tous les développeurs ont leur logique.. t'avais une chance sur 2 de te planter.. maintenant tu le saura pour la prochaine fois ;)

Bienvenue dans le monde merveilleux de la programmation, et surtout, courrage (au début, ensuite, t'aura besoin de passion)
0