因为学校的实验室本学期没人维护出现了很多bug,但是也有自己的原因。
下面是引用调用的错误。
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
int *top;
int *base;
int sqsize;
} Sq;
void Init(Sq t)
{
t.top=(int*)malloc(sizeof(4*100));
t.base=t.top;
t.sqsize=0;
}
void Push(Sq t,int sqsize)
{ int e;
for(int i=0;i<sqsize;i++)
{
scanf("%d",&e);
*t.top++=e;
}
}
void Pop(Sq t,int sqsize)
{ int e;
for(int i=0;i<sqsize;i++)
{
e=*--t.top;
printf("%d",e);
}
}
int main(){
Sq t;
Init(t);
scanf("%d",&t.sqsize);
Push(t,t.sqsize);
Pop(t,t.sqsize);
return 0;
}
在每一个函数参数调用前未加地址符来进行引用调用以至于出现了,
输入的数据无法进入目标参数中,原因就是未加&来进行引用调用。