问题补充说明:voidconversion(){//对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数InitStack(S);scanf("%d",N);while(N){Push(S,N%8);N=N/8;}while(!StackEmpty(S)){Pop(S,e);print... void conversion(){//对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数InitStack(S);scanf("%d",N);while(N){Push(S,N%8);N=N/8;}while(!StackEmpty(S)){Pop(S,e);printf("%d",e);}}//conversion其中的while(N){Push(S,N%8);N=N/8;}和while(!StackEmpty(S)){Pop(S,e);printf("%d",e);应该怎样理解?是怎样的一个过程?while(N){ Push(S,N%8); N=N/8; } 我知道这个是进栈,但是如何入的呢?怎样理解这个过程呢?我是初学者,谢谢 展开
while(N)粮黑利预绿职至甚圆{Push(S,胜止罗英气煤务林费故又N%8);N=N/8;}
是进栈,8进制由左往右,将整数部分进栈.
while(!StackEmpty(S)){Pop(S,e);printf("%d",e);}
是出栈,看程序含示副认夫句术迫号减可能是由右往左出栈.