永发信息网

C语言将字符转为整数

答案:4  悬赏:60  手机版
解决时间 2021-03-04 16:45
  • 提问者网友:不爱我么
  • 2021-03-04 00:23
C语言将字符转为整数
最佳答案
  • 五星知识达人网友:西岸风
  • 2021-03-04 01:34
#include 

int main()
{
        char word[10] = "A"; //原始16进制字符串
        char input[100]; //10进制字符串
        int num; //读入的整数

        sscanf(word, "%x", &num); //识别16进制
        sprintf(input, "%d", num); //转成10进制字符串

        printf("%s
", input);
        return 0;
}追问谢谢
全部回答
  • 1楼网友:拜訪者
  • 2021-03-04 03:20
十六进制先转成二进制,在转换成十进制呗。。追问具体方法,光说我也会
  • 2楼网友:詩光轨車
  • 2021-03-04 03:14
#include
void hex2dec(char* srcBuf , int srcLen , int* dstBuf) //16进制转换10进制
{
for(int i = 0 ; i {
if(srcBuf[i] >= '0' && srcBuf[i] <= '9') //如果是数字
{
dstBuf[i] = srcBuf[i] - '0';
}
else if(srcBuf[i] >= 'A' && srcBuf[i] <= 'F') //字母大写
{
dstBuf[i] = srcBuf[i] - 'A' + 10;
}
else if(srcBuf[i] >= 'a' && srcBuf[i] <= 'f') //字母小写
{
dstBuf[i] = srcBuf[i] - 'a' + 10;
}
else
{
printf("请传入正确的数据...\n");
return ;
}
}
}
int main()
{
char word[5]={'A','C','E','6','8'};
int num[5] = {0};
hex2dec(word , 5 , num);
for(int i = 0 ; i<5 ; i++)
{
printf("%d ", num[i]);
}
printf("\n");
}
记得采纳······追问谢谢
  • 3楼网友:英雄的欲望
  • 2021-03-04 02:39
#undef MAIN_C
#include
#define NUM 4
int main()
{
int i, sum = 1;
char word[NUM] = {'A','F','6', 'G'};
int num[NUM] = {0};
for(i=0; i {
if(word[i]<='F' && word[i]>='A')
num[i]=word[i]-'A'+10;
else if(word[i]<='9' && word[i]>='0')
num[i]=word[i]-48;
else if(word[i]<='f' && word[i]>='a')
num[i]=word[i]-'a'+10;
else
{
printf("不合法的字符出现%d次。\n", sum);
sum++;
}
}
for(i=0; i {
printf("num[%d]=%d. ", i, num[i]);
}
printf("\n");
return 0;
}
#define MAIN_C追问谢谢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯