十进制到二进制的转换用栈实现
#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[10]
s.top=0;
clrscr();
printf("input a decimal number:\n");
scanf("%d",&n);
while(n)
{ push(s,n%2);
n/=2;
}
while(s.top>=0)
{printf("%d",s.a[s.top]);s.top--;}
}
void push( stack s,int n)
{ s.a[s.top]=n;s.top++;
}
无论输入什么数总是输出64