以下是将16进制字符串转换为十进制数的C语言代码:

#include <stdio.h>
#include <string.h>

int hexToDec(char hex[]) {
    int dec = 0;
    int len = strlen(hex);
    int base = 1;

    for(int i = len - 1; i >= 0; i--) {
        if (hex[i] >= '0' && hex[i] <= '9') {
            dec += (hex[i] - '0') * base;
        }
        else if (hex[i] >= 'A' && hex[i] <= 'F') {
            dec += (hex[i] - 'A' + 10) * base;
        }
        else if (hex[i] >= 'a' && hex[i] <= 'f') {
            dec += (hex[i] - 'a' + 10) * base;
        }
        base *= 16;
    }

    return dec;
}

int main() {
    char hex[100];

    printf("请输入16进制数:");
    scanf("%s", hex);

    int dec = hexToDec(hex);

    printf("转换为十进制数为:%d\n", dec);

    return 0;
}

在这个代码中,我们首先定义了一个函数 hexToDec,它接受一个16进制字符串作为参数,并返回对应的十进制数。在函数中,我们使用循环将字符串从右往左遍历,并根据字符的值计算出对应的十进制数。最后,我们在 main 函数中获取用户输入的16进制字符串,并调用 hexToDec 函数将其转换为十进制数,然后将结果输出。


原文地址: https://www.cveoy.top/t/topic/pim7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录