Bonjour je veux faire une simple addition en binaire par le biais d'une sous-fonction à laquelle je passe un tableau en paramètre.

Pour modifier un entier et non une copie il faut travailler avec les pointeurs et passer l'adresse de la variable à la sous-fonction mais avec un tableau je suis perdu j'ai tout essayé ( sauf la bonne solution lol ) et je ne vois vraiment pas comment faire

Sans pointeurs ca ne modifie rien et avec des pointeurs j'ai des erreur de segmentation lorsque je veux mettre une valeur dans une case par exemple:

*tableau[1]=0 => segmentation fault lol

Voici le code sans pointeur si vous pouviez me le corriger merci bien


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
34
35
36
37
38
39
 
#include <stdio.h>
 
void addition(int tableau[],int l)
{
int i=0;
 
  while(i<l)
  {
    if (tableau[i] == 0)
    {
    (tableau[i])++;
    return;
    }
    else
    {
    (tableau[i])--;
    }
  }
 
 
}
 
 
int main()
{
 
int binaire[5]={0,0,0,0,0};
int l=4;
int i;
for(i=0;i<30;i++)
{
addition(binaire,l);
 
printf("%d%d%d%d%d\n",binaire[0],binaire[1],binaire[2],binaire[3],binaire[4]);
 
}
return 0;
}