10进制转换成十六进制 有问题!
还有一些函数 就只说我不懂的typedef srtuck
{
datatype1 data[maxsize];
int top;
}seqstack;
/*顺序栈初始化操作函数*/
void initstack(seqstack *s)
{
int i;
for(i=0;i<maxsize;i++)
s->data[i]='\0';
s->top=0;
}
/*转换成十六进制,函数*/
void d_to_h(unsigned x)
{
int y;
char ch;
seqstack stack,*s
s=&stack;
initstack(s);
push(s,'#');
while(x!=0)
{ y=x%16;
if(y<10)
push(s,y)
else
{ switch(y)
{ casr 10 :push(s,'A');break;
casr 11 :push(s,'B');break;
casr 12 :push(s,'C');break;
casr 13 :push(s,'D');break;
casr 14 :push(s,'E');break;
casr 15 :push(s,'F');
}
}
x=x/16;
}
while((ch=gettop(s))!='#')
{
ch=pop(s);
if(ch<10)
printf("%d",ch);
else
printf("%c",ch);
}
}
=========================================
seqstack stack,*s
s=&stack;
initstack(s);
就是想不明白这三个语句是什么意思,为什么要这样。
大家来帮我释疑吧