函数原型是 void StackInitiate(SLN **head);、
参数需要的双指针类型, 而你传的是但指针,当然出错 ,将SLN myStack 改为SLN *myStack,改成SLN *myStack后 后面的代码为
void main()
{
int decimal;
SLN *myStack;
StackInitiate(&myStack);
scanf("%d",&decimal);
while(decimal)
{
StackPush(myStack,decimal%2);
decimal=decimal/2;
}
while(StackNotEmpty(myStack))
{
StackPop(myStack,&decimal);
printf("%d",decimal);
}
}
SLN myStack;改成SLN *myStack;试试