求用C语言编写将“hello”这样的字符串转化为十六进制的代码实现

求用C语言编写将“hello”这样的字符串转化为十六进制的代码实现,急急急!!!

#include "stdio.h"
void main()
{
char HEX[16] = {'0', '1', '2', 3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
int num;
printf("请输入一个十进制整数:");
scanf("%d",&num);

int a[10];
int i=0;
int yushu;
while(num>0)
{
yushu=num%16;
a[i]=yushu;
num=num/16;
i++;

}

printf("转化为十六进制的数为:");
for(;i>=0;i--)//倒序输出
{
printf("%c",HEX[a[i]]);

}
printf("\n");
}

 #include<stdio.h>
void main()
{

    char str[]="abhello";
    char *p=str;
    while(*p)
    {
        printf("%x ",*p++);
    }

}

char *strtohex(char *str, char *hex)
{
    char *flag = hex;
    char tmp[2] ={0};
    while(*str)
    {
        sprintf(tmp, "%hhx", *str++);
        *hex++ = tmp[0];
        *hex++ = tmp[1];
    }
    *hex = '\0';
    return flag;
}

其实就是 ysuwood 的答案,没验证。您可以对照一下ASCII表,看转换是否正确