c语言 编写函数,将输入的16进制整数转化为对应的十进制整数并输出
时间: 2025-01-28 11:28:20 浏览: 33
在C语言中,可以通过编写一个函数将输入的16进制整数转化为对应的十进制整数并输出。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <ctype.h>
// 函数声明
long hexToDecimal(char hex[]);
int main() {
char hex[20];
printf("请输入一个16进制整数: ");
scanf("%s", hex);
printf("对应的十进制整数是: %ld\n", hexToDecimal(hex));
return 0;
}
// 将16进制字符串转换为十进制整数的函数
long hexToDecimal(char hex[]) {
long decimal = 0;
int i, len, digit;
len = strlen(hex);
for(i = 0; i < len; i++) {
// 将字符转换为大写
hex[i] = toupper(hex[i]);
// 将字符转换为对应的整数值
if(hex[i] >= '0' && hex[i] <= '9') {
digit = hex[i] - '0';
} else if(hex[i] >= 'A' && hex[i] <= 'F') {
digit = 10 + (hex[i] - 'A');
} else {
// 如果输入包含非16进制字符,返回错误
printf("输入包含非16进制字符\n");
return -1;
}
// 计算十进制值
decimal += digit * pow(16, len - i - 1);
}
return decimal;
}
```
这个程序首先提示用户输入一个16进制整数,然后调用`hexToDecimal`函数将输入的16进制字符串转换为十进制整数,并输出结果。
阅读全文
相关推荐


















