把结果都列出来,可以提升代码运行速率
#include<stdio.h> char hex_char(unsigned int n) { switch(n) { case 0: return ‘0‘; case 1: return ‘1‘; case 2: return ‘2‘; case 3: return ‘3‘; case 4: return ‘4‘; case 5: return ‘5‘; case 6: return ‘6‘; case 7: return ‘7‘; case 8: return ‘8‘; case 9: return ‘9‘; case 10: return ‘a‘; case 11: return ‘b‘; case 12: return ‘c‘; case 13: return ‘d‘; case 14: return ‘e‘; case 15: return ‘f‘; } return 0; } void int_hex(unsigned int n) { int i = n % 16; if(n >= 16) int_hex(n / 16); printf("%c", hex_char(i)); //后序输出 } int main() { /*int a = 20; printf("%x\n", a); //%x直接输出16进制 return 0; */ int a = 15; scanf("%d", &a); int_hex(a); //void的函数直接调用 printf("%c", a); //%c输出单个字符 return 0; }