十进制数转换为十六进制数(C语言 数据结构 链式栈 ) 帮忙改一个错误!

2024-11-14 06:47:26
推荐回答(2个)
回答1:

函数原型是 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);
}

}

回答2:

SLN myStack;改成SLN *myStack;试试