Probleme d'execution de code sous linux

Résolu
salut
je suis nouveau sous linuxmint ,$
j'ai executer mon code avec ./a.out il m'a executer que la fonction "main" il a pas fait l'appelle aux fonctions de remplissage de deux tableaux et voilà le code:
#include <stdio.h>
#include <stdlib.h>
int remplir1 (int *A,int n);
int remplir2 (int *B,int m);
int main(int argc,char* argv[])
{
 int n,m,i,j ;
 scanf("%d",&n);
 scanf("%d",&m);
 int A[n+m],B[m];
 int remplir1 (int *A,int n);
 int remplir2 (int *B,int m);

return 0;

}

//corps de la fonction
int remplir1 (int *A,int n)
{
int i;
for(i=0;i<n;i++)
 {
 scanf("%d",&A[i]);
 }

return *A;
}

int remplir2 (int*B,int m)
{
int j;
for(j=0;j<m;j++)
 {
 scanf("%d",&B[j]);
 }

return *B;
}


Merci d'avance..!?

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

  1. Modérateur
    Pourquoi deux fonctions aux corps fonctionnellement identiques remplir1, remplir2 ?
    m et
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <errno.h>
    
    void remplir (int *A,int n);
    
    int main(int argc,char* argv[])
    {
      int n,m ;
      int *A, *B;
    
      puts("Taille tableau A: ");
      scanf("%d", &n);
      puts("Taille tableau B: ");
      scanf("%d", &m);
    
      A = calloc(n, sizeof(int));
      if ( !A )
        {
          perror(strerror(errno));
          return EXIT_FAILURE;
        }
      
      B = calloc(n, sizeof(int));
      if ( !B )
        {
          perror(strerror(errno));
          return EXIT_FAILURE;
        }
    
    
      remplir (A, n);
      remplir (B, m);
      return EXIT_SUCCESS;
    
    }
    
    //corps de la fonction remplir
    void remplir (int *A,int n)
    {  
      int i;
    
      for(i=0 ;i<n; i++)
        {
          printf("Elément[%d]: ", i);
          scanf("%d", A + i);
        }
    }


    La déclaration int A[n+m],B[m]; n'a pas de sens en C. Il faut définir un array statique ou faire de l'allocation dynamique.
    1. Bonjour,
      Il y a eu des erreurs à la compilation, le compilateurs a dû t'indiquer que les les lignes 11 et 12 sont incorrectes.
      Pour appeler une fonction, on doit lui passer des paramètres.
      int main()
      {
        int  n , m;
        scanf( "%d" , &n );
        scanf( "%d" , &m );
        int  ta[n+m] , tb[m];
      
        remplir1( ta , n );
        remplir2( tb , m );
      
        return 0;
      }