首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个十六进制转10进制的程序求改错解决方案

2012-05-11 
一个十六进制转10进制的程序求改错#include stdio.hint hex2dec(char *str){intm,i,km1for (i0,str[

一个十六进制转10进制的程序求改错
#include <stdio.h>
int hex2dec(char *str)
{
int m,i,k;
m=1;
for (i=0,str[i]!='\0';i++)
{
if (str[i]>='0' && str[i]<='9')
k=str[i]-'0';
else if (str[i]>='A' && str[i]<='F')
k=str[i]-'A'+10;
else if (str[i]>='a' && str[i]<='f')
k=str[i]-a+10;
else
return m;
m=16*m+k;
}
return m;
}
main()
{
char str[80];
int n;
gets(str[80]);
n=hex2dec(str);
printf("%d\n",n);
}


[解决办法]

C/C++ code
#include <stdio.h>#include <string.h>int hex2dec(char *str){    int m,i,k;    m=0; //从0开始    for (i=0; str[i]!='\0';i++) //分号    {        if (str[i]>='0' && str[i]<='9')            k=str[i]-'0';        else if (str[i]>='A' && str[i]<='F')            k=str[i]-'A'+10;        else if (str[i]>='a' && str[i]<='f')            k=str[i]-'a'+10;   //'a'        else            return m;        m=16*m+k;    }    return m;}main(){    char str[80];    int n;    gets(str); //    n=hex2dec(str);    printf("%d\n",n);} 

热点排行