永发信息网

C语言从十六进制到十进制的函数debug

答案:1  悬赏:10  手机版
解决时间 2021-04-12 23:28

用函数代码如下:

#include "stdafx.h"
#include "string.h"
#define N 100

int hexStr2Int(char s[])
{
int i,len,m=1,n=0;
len=strlen(s);
printf("%d\n",len);
for(i=0;s[i]!='\0';i++)
{
if(s[i]>='0'&&s[i]<='9')
{
for(;i<len-1;i++)
m=m*16;
n=(s[i]-'0')*m+n;
}
else if(s[i]>='a'&&s[i]<='f')
{
for(;i<len-1;i++)
m=m*16;
n=(s[i]-'a'+10)*m+n;
}
else if(s[i]>='A'&&s[i]<='F')
{
for(;i<len-1;i++)
m=m*16;
n=(s[i]-'A'+10)*m+n;
}
else printf("error");
}
return(n);
}

int _tmain(int argc, _TCHAR* argv[])
{
int i,m=0;
char s[N],c;
printf("请输入一个十六进制数:");
for(i=0;(c=getchar())!='\n';i++)
{
if(c>='0'&&c<='9'||c>='a'&&c<='f'||c>='A'&&c<='F')
s[i]=c;
}
s[i]='\0';
m=hexStr2Int(s);
printf("相应的十进制数为:%d",m);
return 0;
}

请问何处的代码错误?输出结果不正确

最佳答案

//改好了

#include <stdio.h>

#include <string.h>
#define N 100

int hexStr2Int(char s[])
{
int i,j,len,m=1,n=0;
len=strlen(s);
printf("%d\n",len);
for(i=0;s[i]!='\0';i++)
{
if(s[i]>='0'&&s[i]<='9')
{
for(m=1,j=i;j<len-1;j++)
m=m*16;
n=(s[i]-'0')*m+n;
}
else if(s[i]>='a'&&s[i]<='f')
{
for(m=1,j=i;j<len-1;j++)
m=m*16;
n=(s[i]-'a'+10)*m+n;
}
else if(s[i]>='A'&&s[i]<='F')
{
for(m=1,j=i;j<len-1;j++)
m=m*16;
n=(s[i]-'A'+10)*m+n;
}
else printf("error");
}
return(n);
}


int main(int argc, char* argv[])
{
int i,m=0;
char s[N],c;
printf("请输入一个十六进制数:");
for(i=0;(c=getchar())!='\n';i++)
{
if(c>='0'&&c<='9'||c>='a'&&c<='f'||c>='A'&&c<='F')
s[i]=c;
}
s[i]='\0';
m=hexStr2Int(s);
printf("相应的十进制数为:%d",m);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
子宫壁厚可以啪啪啪吗
国航可以提前多久值机,要提前多久到机场值机
管头村地址在哪,我要去那里办事
Over80percentofthepopulationofChina peasan
开设手游馆需要办理什么证件
炫舞宠物是什么
路虎行政版3.0t柴油版油箱多大
307大嘴2.0mt和福克斯2.0MT运动版哪辆车更值
雪铁龙毕加索
DNF鬼泣用的50级智力套!全称叫什么?满智是
捷达5伐和2伐外表什么区别
买一个100-200元左右的路由器
Many years ago three soldiers, hungry and
春夜喜雨主要写了什么,朱自清作品春描写了春
女导购和男顾客可以成为好朋友吗?
推荐资讯
淘宝分类删了分类里的东西会删吗
天龙八部英招什么样的好?性格?
我的电脑ASUS,一玩游戏就经常死机啊,动都动
宏军招待所地址有知道的么?有点事想过去
谁有梦幻诛仙最新版本的黑色界面。
联想选择SAP,而华为为什么选择Oracle EBS呢?
冰雪聪明
什么是原子中子数?
单选题下列两个物体保持相对静止的是A.月球和
dnf杀意决适合修罗吗
形容风景很好的句子,形容风景好的诗句
带眼罩睡觉会不会压坏睫毛?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?