Salut a tous,

voila j'essaie de créer une pile mais qui fonctionne sans pointeur (i.e un bête tableau dans lequel je pourrais mettre ou enlever des éléments).

Malheureusement je n'arrive pas a copier une chaine de caractère dans ma pile,(cela m'affiche n'importe quoi genre des ?,[],%µ, etc...)
quelqu'un peut-il m'aider?


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
40
41
42
43
44
45
46
47
48
49
50
51
 
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
 
struct pile{
  int taille;
  char tableauPile[64];
};
 
 
void initialiser (struct pile unepile){
  unepile.taille = 0;
 
}
 
void empiler (struct pile unepile, char unchar[]){
  int i;
  for (i=1; unchar[i] !='\0' ; i++){
  unepile.tableauPile[i] = unchar[i];
  unepile.taille ++;
     }
  unepile.tableauPile[i] = '\0';
}
 
 
void afficherPile (struct pile unepile){
  int i;
  for (i=1;i<=unepile.taille;i++){
    printf ("%c", unepile.tableauPile[i]);
 
  }
 
}
 
int main () {
  char c[1];
  struct pile mapile;
  initialiser (mapile);
 
  printf ("entrer un caractere : ");
  scanf ("%c", &c); 
 
  empiler (mapile,c);
printf ("\n");
 
afficherPile (mapile);
 
 
  return 0;
}