C语言程序中写一个函数,输入16进制,输出10进制。
时间: 2024-12-23 09:25:57 浏览: 0
16进制数据与浮点型数据转换——c语言程序
在C语言中,你可以创建一个函数来接收一个十六进制字符串作为输入,并返回其对应的十进制整数值。这里是一个简单的示例,使用了`strtol()`函数,它能够将字符串转换成长整型,允许指定基数(这里是16表示十六进制):
```c
#include <stdio.h>
#include <stdlib.h>
// 定义一个函数将十六进制字符串转换为十进制整数
long long hexToDecimal(const char *hexStr) {
return strtol(hexStr, NULL, 16); // 第三个参数指明基数为16
}
int main() {
char hexInput[] = "FF"; // 示例十六进制字符串
long long decimalOutput = hexToDecimal(hexInput);
if (decimalOutput == -1) { // 检查转换是否成功
printf("Invalid hexadecimal input.\n");
} else {
printf("Hexadecimal %s is equivalent to decimal %lld.\n", hexInput, decimalOutput);
}
return 0;
}
```
在这个例子中,`hexToDecimal()`函数接受一个十六进制字符串作为输入,如果输入有效,则会返回相应的十进制值;如果输入无效,`strtol()`函数会返回-1,这时我们在主函数中检查并打印错误消息。
阅读全文