骆驼671 2021-11-19 03:20 采纳率: 67.5%
浏览 16
已结题

十进制转十六进制的问题

哪里有瑕疵?
\0有没有问题

#include<stdio.h>
int main()
{
void f(int);
long int a;
scanf("%d",&a);
f(a);
return 0;
}
void f(int a)
{
char g[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char c[20];
int i,j;
for(i=0;a!=0;i++)
{
c[i]=g[a%16];
a=a/16;
}
for(j=19;j>=0;j--)
{
if(c[j]!='\0')
printf("%c",c[j]);
}
}

展开全部

  • 写回答

1条回答 默认 最新

  • qq_41851997 2021-11-19 03:41
    关注

    long int a;
    char str[30];

    scanf("%d",&a);
    sprintf(str,"%x",a);
    printf("%s\r\n",str);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月21日
  • 创建了问题 11月19日