int m,bjz;
scanf("%d",&m);
Stack *a;
a=Stack_Create(100);
while(m/8==0){
Stack_Push(a,m%8);
m=m/8;
}
Stack_Push(a,m%8);
Stack_Print(a);
你这个入参也没说,不过看你的while条件就不对了,我传入一个8,经过一次循环后m为0,0/8为0,就陷入死循环一直往栈里面push,就会报stack full error了。
while条件应该改为(m/8 != 0)。
Stack *a;
a=Stack_Create(100);
while(e/8!=0){
Stack_Push(a,e%8);
e=e/8;
}
Stack_Push(a,e%8);
Stack_Print(a);