if (scanf(%x, hex_val) != EOF) { printf(它的八、十进制分别=%o、%d\n, hex_val, hex_val);}你也可以输入一个由0-9-A-F中组成的连续的字符序列,然后检查它是否为合法的十六进制数格式,最后,如果需要,可用函数strtoul将这个字符串指针作为base参数转换成数值。