没错的例子;
#includestdio.h
typedefintDataType;
typedefstructNode{
DataTypedata;
structNode*next;
}StackNode,*LinkStack;
LinkStackPush_LinkStack(LinkStacktop,DataTypex)
{
StackNode*s;
s=newStackNode;
s-data=x;
s-next=top;
top=s;
printf(\"%d\",top-data);
returntop;
}
main()
{
LinkStacktop;
top=Push_LinkStack(top,1);
top=Push_LinkStack(top,2);
top=Push_LinkStack(top,3);
top=Push_LinkStack(top,4);
top=Push_LinkStack(top,5);
printf(\"%d\",top-data);
}
出错的例子
#includestdio.h
typedefintDataType;
typedefstructNode{
DataTypedata;
structNode*next;
}StackNode,*LinkStack;
voidPush_LinkStack(LinkStacktop,DataTypex)
{
StackNode*s;
s=newStackNode;
s-data=x;
s-next=top;
top=s;
printf(\"%d\",top-data);
}
main()
{
StackNode*top;
Push_LinkStack(top,1);
Push_LinkStack(top,2);
Push_LinkStack(top,3);
Push_LinkStack(top,4);
Push_LinkStack(top,5);
printf(\"%d\",top-data);//问题出现在这里,上面那个例子可以显示出值,而这个不可以,为什么,求详细解答。
}
|