Bonsoir,

Pour un projet que je dois effectuer en langage C, je dois bien structurer mon programme via diverses fonctions et je voulais savoir pourquoi ce petit bout de code ne fonctionnait pas.

Mon compilateur me dit que la fonction retourne l'adresse de la variable locale. Je débute en C et je m'y perds un peu avec les pointeurs.

Pourriez-vous m'aider à corriger mon erreur ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
 
char *GenererCombiAleatoire();
int main()
{
    char solution[4];
    printf("Solution : %s",GenererCombiAleatoire());
}
char *GenererCombiAleatoire()
{
    char solution[4];
    int a=0;
            srand(time(NULL));
        for(a=1;a<=4;a++)
            {
            solution[a]=rand()%6;
            if (solution[a]==0)
            solution[a]='R';
            if (solution[a]==1)
            solution[a]='V';
            if (solution[a]==2)
            solution[a]='B';
            if (solution[a]==3)
            solution[a]='J';
            if (solution[a]==4)
            solution[a]='O';
            if (solution[a]==5)
            solution[a]='M';
            }
            return solution;}