Pointeur,adresse ...

Résolu/Fermé
alamimoutaouakil Messages postés 7 Date d'inscription vendredi 17 janvier 2014 Statut Membre Dernière intervention 23 février 2014 - 17 janv. 2014 à 22:32
alamimoutaouakil Messages postés 7 Date d'inscription vendredi 17 janvier 2014 Statut Membre Dernière intervention 23 février 2014 - 18 janv. 2014 à 13:53
Bonjour, j'essai d'écrire un programme qui me trie un tableau puis je l'essai en entrant des valeurs, j'ai donc écrit deux versions pour essayer ma fonction qui sont pour moi equivalentes et pourtant l'une marche tres bien et l'autre me dit "segmentation fault (core dumped)"
voici les deux version :
La premiére :
#include <stdio.h>
#include <stdlib.h>
#define N 6
void trie3(float*,float*,int,int);
int main()
{ int i, g=0,d=N-1 ;
float T[N],maxi;
printf("Entrez les valeurs du tableau !");
for(i=0;i<N;i++)
scanf("%f",&T[i]);
trie3(T,&maxi,g,d);
printf("\nLe max est : %f",maxi);
for(i=0;i<N;i++)
printf("\n%f",T[i]);
return 0;
}
La deuxième :
#include <stdio.h>
#include <stdlib.h>
#define N 6
void trie3(float*,float*,int,int);
int main()
{ int i, g=0,d=N-1 ;
float T[N],*maxi;
printf("Entrez les valeurs du tableau !");
for(i=0;i<N;i++)
scanf("%f",&T[i]);
trie3(T,maxi,g,d);
printf("\nLe max est : %f",*maxi);
for(i=0;i<N;i++)
printf("\n%f",T[i]);
return 0;
}
La difference est liée à maxi!!

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
18 janv. 2014 à 01:07
Bonjour,

Tu n'as pas fait d'allocation.
Utilise un malloc() et ça ira mieux.
int *maxi=malloc(sizeof(int));
Et un free(maxi); juste avant le return 0; final.
Cdlt,
0
Utilisateur anonyme
18 janv. 2014 à 09:32
Bonjour

Plutôt sizeof(float), je pense.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
18 janv. 2014 à 13:27
Très juste :-).
0
alamimoutaouakil Messages postés 7 Date d'inscription vendredi 17 janvier 2014 Statut Membre Dernière intervention 23 février 2014
Modifié par alamimoutaouakil le 18/01/2014 à 13:53
salut,
Je vous remercie pour votre réponse en effet c'était seulement l'allocation qui manquer !!
0