栈的压入程序,在赋值是出问题了
下面是代码:
#include<stdio.h>
#include<iostream.h>
#define m0 4
typedef struct kk
{
int s[m0];
int top;
}stack;
void push(struct kk *st,int x)//x是插入到栈中的元素
{
if(st->top==0)printf("溢出\n");
else
{
st->top=st->top+1;
st->top=x;
}
}
void main()
{
struct kk *stack;
int x,i;
printf("初始化\n");
for(i=0;i<m0;i++)
//scanf("%d",&(stack->s[i]));//初始化栈
cin>>stack->s[i];
printf("cin the x\n");
scanf("%d",&x);
push(stack,x);
for(i=0;i<stack->top;i++)
printf("%d",stack->s[i]);
}
我想各位也不用我注解了,不过我的电脑在赋值是是非法操作,为什么????