编写一个将十进制整数转换为十六进制字符串的函数

2024-12-04 14:06:12
推荐回答(1个)
回答(1):

#include

#include

void d2h(long x,char s[])

{

 int i,j,c;

 for(i=-1;x>0;i)

 {

  s[++i]=x%16;

  x/=16;

 }

 for(j=i;j>=0;j--)

   if(s[j]<10)s[j]+=48;

     else s[j]+=55;

 s[i+1]='\0';

 for(j=0;j

 {c=s[j];s[j]=s[i];s[i]=c;}

}

void main(void)

{

 char s[17];

 long x;

 scanf("%ld",&x);

 d2h(x,s);

 printf("%ld=%sH\n",x,s);

}