J'ai rencontré ce problème: Echec de la vérification au moment de l'exécution # 2 - La pile autour de la variable était corrompue dans visual studio 12. J'essaye aussi ceci dans le codeblock mais ai fait face au même problème. Je cours mon code aussi dans ideone.com il montre l'erreur d'exécution. Aide moi ? mon code est:Échec de vérification au moment de l'exécution # 2 - La pile autour de la variable était corrompue
#include<iostream>
#include<stdio.h>
#define MAX 50
using namespace std;
typedef struct
{
long var[20];
long pos;
}stack;
void init_stack(stack *st)
{
long i;
for(i=0; i<MAX; i++)
st->var[i] = -1;
st->pos = 0;
return ;
}
void push(stack *st, long item)
{
if(st->pos == MAX)
{
printf("stack overflow \n");
}
else
st->var[st->pos+1] = item;
st->pos++;
return ;
}
void pop(stack *st)
{
//if(empty(st))
if(st->pos == 0)
printf("stack underflow \n");
else
st->var[st->pos] = -1;
st->pos--;
return ;
}
long top(stack *st)
{
long temp;
temp = st->var[st->pos];
return temp;
}
bool empty(stack *st)
{
if(st->pos==0)
return true;
else
return false;
}
int main()
{
stack s;
long i, n=9, t;
init_stack(&s);
printf("STACK PUSH\n");
for(i=1; i<=n; i++)
{
push(&s, i);
t = top(&s);
printf(" %ld\n", t);
}
printf("STACK POP\n");
for(i=1; i<=n; i++)
{
t = top(&s);
printf(" %ld\n", t);
pop(&s);
}
return 0;
}
MAX est de 50, et vous faire var être un tableau de 20 éléments. – Infested