因为学校的实验室本学期没人维护出现了很多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;}
在每一个函数参数调用前未加地址符来进行引用调用以至于出现了,
输入的数据无法进入目标参数中,原因就是未加&来进行引用调用。