进制转换用栈实现
#include<stdio.h>typedef struct
{int a[10];
int top;}stack;
void main()
{
void push(stack s,int n);
int n;
stack s;
// s.a[]={0};s.top=0;
printf("input a hex number:\n");
scanf("%d",&n);
while(n)
{ push(s,n%16);
n/=16;
}
while(s.top!=0)
{printf("%d",s.a[top]);top--;}
}
void push( stack s,int n)
{ s.a[top]=n;top++;
}
有错误 怎么办
搜索更多相关的解决方案:
进制
----------------解决方案--------------------------------------------------------
问题出在那个 ”Top“ 中,它是结构体中的一个数据成员,引用时要加上结构体名。。
所以LZ 把上面的 ”Top“ 都改成 "s.Top " 就可以了。。。。
----------------解决方案--------------------------------------------------------