Windows8、 mingw32を使っています。
エラーのあるコードを載せます。
#include <stdio.h>
#include <stdlib.h>
#define STACK_MAX 10
double stack[STACK_MAX];
int stack_top=0;
void stack_push(double val)
{
if(stack_top==STACK_MAX)
{
printf("エラー:スタックが満杯です(Stack overflow)\n");
exit(EXIT_FAILURE);
}else{
stack[stack_top]=val;
++stack_top;
}
}
double stack_pop(void)
{
if(stack_top==0)
{ printf("エラー:スタックが空なのにpopが呼ばれました(Stack underflow)\n");
exit(EXIT_FAILURE);
return 0;
}else{
--stack_top;
return stack[stack_top];
}
}
int main (void)
{
int i=0;
double j=0;
double k=0;
do{printf("\n0:終了1:プッシュ 2:ポップ");
scanf("%d",&i);
switch(i)
{ case 1:
printf("数を入力してください。\n");
scanf("%f",&j);
stack_push(j);
break;
case 2: k=stack_pop();
printf("%f",k);
break;
}
}while(i!=0);
}
データを取り出そうする度に、表示は0.000000になります。
入力したデータを表示できるようにしたいです。
C言語は、二年間学んだものです。
お返事お願いします。