J'arrive pas à declarer des variables dans le main principale

Voila mon programme:

#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<windows.h>
int qst()
{
char** tab=(char**)malloc((10000)*sizeof(char*));
char ** temp=tab;
char* parcours=(char*)malloc((BUFSIZ)*sizeof(char));
int tailleTab=0;
int j=0,i=0,k=0;
FILE * fp=fopen("signal.txt","r");
if(fp==NULL){};

while(fgets(parcours,BUFSIZ,fp)!=NULL)
{
temp[j]=(char*)malloc((strlen(parcours))*sizeof(char));
strcpy(temp[j],parcours);
j++;
}

tailleTab=j;
srand(time(NULL));

do
{ k=rand()%6;}
while ((k%2)!=0);
printf("%s\n",tab[k]);
printf("%s\n",tab[k+1]);
fclose(fp);
return k;}

char *rep(int k)
{ char** tabl=(char**)malloc((1)*sizeof(char*));
char ** aux=tabl;
char* parc=(char*)malloc((BUFSIZ)*sizeof(char));
int tailleTab=0;
char* x;
int j=0,i=0;
FILE * fr=fopen("rep.txt","r");
if(fr==NULL){};

while(fgets(parc,BUFSIZ,fr)!=NULL)
{
aux[j]=(char*)malloc((strlen(parc))*sizeof(char));
strcpy(aux[j],parc);
j++;
}

tailleTab=j;
srand(time(NULL));
/*do
{ k=rand()%6;}
while ((k%2)!=0);
printf("%s\n",tabl[k]);*/
x=tabl[k];
fclose(fr);
return x;}
int main(int argc,char* argv [])
{
int a;
char* repo;
char* x;
a=qst();
printf(" Votre reponse est :\t");
scanf("%s",repo);
x=rep(a);
if (*x==*repo)
{printf("\n\t\tBravo");
}
else
{printf("\n\t\tdommage");}
getch();}

3 réponses

  1. Pardon ,
    mais vraiment je suis un peut stressé !!
    est ce que vous pouvez m'aidé et merci d'avance..
    0
    1. Contributeur
      med.ben235,
      Tu es peut-être stressé, mais nous ne sommes pas devins... Tant que ton problème ne sera pas clairement formulé, nous ne pourrons pas t'aider.

      D'ailleurs, les variables globales (sauf cas particulier) ne sont pas conseillers. Ils vaut mieux les passer en paramètre de tes fonctions. Donc, cela résoudra peut-être ton problème.

      Sinon, montre exactement ce que tu souhaites faire (même si ça ne marche pas) et on te corrigera.
      0