用strlen()函数和指针输入一个用字符串表示的十六进制数转换成十进制整数。C语言
时间: 2024-04-30 18:20:36 浏览: 85
std.h函数说明 (2).pdf
以下是一个简单的代码示例:
```c
#include <stdio.h>
#include <string.h>
int hexToDec(char *hex) {
int len = strlen(hex);
int base = 1;
int dec = 0;
int i;
for (i = len - 1; i >= 0; i--) {
if (hex[i] >= '0' && hex[i] <= '9') {
dec += (hex[i] - 48) * base;
base *= 16;
} else if (hex[i] >= 'a' && hex[i] <= 'f') {
dec += (hex[i] - 87) * base;
base *= 16;
} else if (hex[i] >= 'A' && hex[i] <= 'F') {
dec += (hex[i] - 55) * base;
base *= 16;
}
}
return dec;
}
int main() {
char hex[100];
printf("请输入一个十六进制数:");
scanf("%s", hex);
printf("转换后的十进制数为:%d\n", hexToDec(hex));
return 0;
}
```
这个程序使用`strlen()`函数获取输入的十六进制数的长度,然后使用一个循环从后往前遍历每个字符,将其转换成十进制数并累加到`dec`变量中,最后返回`dec`。
阅读全文