Problème de tableau...
Résolu/Fermé
Kuartz
Messages postés
850
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
15 février 2019
-
26 oct. 2015 à 15:28
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 - 27 oct. 2015 à 17:59
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 - 27 oct. 2015 à 17:59
A voir également:
- Problème de tableau...
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Tableau de raccourcis clavier - Guide
2 réponses
Kuartz
Messages postés
850
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
15 février 2019
61
26 oct. 2015 à 15:42
26 oct. 2015 à 15:42
J'ai changé le code ainsi, mais cette fois le programme plante à la fin...
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "main.h" void affiche(char tableau[], int tailleTableau); int main(int argc, char *argv[]) { int i; Joueur joueur[3]; for(i = 0 ; i < 3 ; i++) { printf("Tapez le pseudo du joueur %d\n", i + 1); scanf("%s", &joueur[i].pseudo); printf("Quel est le Tag du joueur %d?\n", i + 1); scanf("%s", &joueur[i].tag); } printf("\n Les 3 joueurs de cette partie sont : \n \n"); affiche(&joueur, 3); return 0; } void affiche(char tableau[], int tailleTableau) { int i; for (i = 0 ; i < tailleTableau ; i++) { printf("%s\n", tableau[i]); } }
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
26 oct. 2015 à 16:38
26 oct. 2015 à 16:38
Bonjour,
Il faudrait voir la définition de Joueur. Je pense notamment à des pointeurs non initialisés qui expliqueraient tes problèmes.
En attendant, quelques remarques sur ton code :
affiche(&joueur, 3);
scanf("%s", &joueur[i].pseudo);
scanf("%s", &joueur[i].tag);
Il ne faut pas mettre &joueur mais joueur.
affiche(&joueur, 3);
Je te conseille plutôt de mettre :
De même pour for(i = 0 ; i < 3 ; i++)
Ou alors, tu peux même définir un #define TAILLE 3
Cdlt,
Il faudrait voir la définition de Joueur. Je pense notamment à des pointeurs non initialisés qui expliqueraient tes problèmes.
En attendant, quelques remarques sur ton code :
affiche(&joueur, 3);
scanf("%s", &joueur[i].pseudo);
scanf("%s", &joueur[i].tag);
Il ne faut pas mettre &joueur mais joueur.
affiche(&joueur, 3);
Je te conseille plutôt de mettre :
affiche(joueur, sizeof joueur / sizeof *joueur);
De même pour for(i = 0 ; i < 3 ; i++)
Ou alors, tu peux même définir un #define TAILLE 3
Cdlt,
Kuartz
Messages postés
850
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
15 février 2019
61
27 oct. 2015 à 15:23
27 oct. 2015 à 15:23
Ok merci pour toutes ces infos.
Les pointeurs sont un vrai problème pour moi... Je ne comprend vraiment pas comment les utiliser..
Les pointeurs sont un vrai problème pour moi... Je ne comprend vraiment pas comment les utiliser..
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
27 oct. 2015 à 17:57
27 oct. 2015 à 17:57
Je te conseille de lire un tuto (par exemple openclassroom). C'est important de comprendre leur fonctionnement, c'est la base du C.
Si tu as des questions sur les pointeurs, n'hésite pas ;-).
Si tu as des questions sur les pointeurs, n'hésite pas ;-).
Kuartz
Messages postés
850
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
15 février 2019
61
Modifié par Kuartz le 27/10/2015 à 18:00
Modifié par Kuartz le 27/10/2015 à 18:00
Je suis sur Openclassroom mais même avec ça je trouve ça pas simple... Merci beaucoup en tout cas c'est très sympa :)